@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
@@ -40,7 +40,11 @@ export interface BatchPoolCreateContent {
40
40
  metadata?: Array<MetadataItem>;
41
41
  /** 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
42
  mountConfiguration?: Array<MountConfiguration>;
43
- /** The desired node communication mode for the pool. If omitted, the default value is Default. */
43
+ /**
44
+ * The desired node communication mode for the pool. If omitted, the default value is Default.
45
+ *
46
+ * Possible values: "default", "classic", "simplified"
47
+ */
44
48
  targetNodeCommunicationMode?: BatchNodeCommunicationMode;
45
49
  /** The upgrade policy for the Pool. Describes an upgrade policy - automatic, manual, or rolling. */
46
50
  upgradePolicy?: UpgradePolicy;
@@ -56,7 +60,7 @@ export interface VirtualMachineConfiguration {
56
60
  nodeAgentSKUId: string;
57
61
  /** Windows operating system settings on the virtual machine. This property must not be specified if the imageReference property specifies a Linux OS Image. */
58
62
  windowsConfiguration?: WindowsConfiguration;
59
- /** The configuration for data disks attached to the Compute Nodes in the Pool. This property must be specified if the Compute Nodes in the Pool need to have empty data disks attached to them. This cannot be updated. Each Compute Node gets its own disk (the disk is not a file share). Existing disks cannot be attached, each attached disk is empty. When the Compute Node is removed from the Pool, the disk and all data associated with it is also deleted. The disk is not formatted after being attached, it must be formatted before use - for more information see https://docs.microsoft.com/en-us/azure/virtual-machines/linux/classic/attach-disk#initialize-a-new-data-disk-in-linux and https://docs.microsoft.com/en-us/azure/virtual-machines/windows/attach-disk-ps#add-an-empty-data-disk-to-a-virtual-machine. */
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. */
60
64
  dataDisks?: Array<DataDisk>;
61
65
  /**
62
66
  * This only applies to Images that contain the Windows operating system, and
@@ -101,6 +105,10 @@ export interface ImageReference {
101
105
  version?: string;
102
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. */
103
107
  virtualMachineImageId?: string;
108
+ /** 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
+ sharedGalleryImageId?: string;
110
+ /** The community gallery image unique identifier. This property is mutually exclusive with other properties and can be fetched from community gallery image GET call. */
111
+ communityGalleryImageId?: string;
104
112
  }
105
113
  /** Windows operating system settings to apply to the virtual machine. */
106
114
  export interface WindowsConfiguration {
@@ -115,16 +123,28 @@ export interface WindowsConfiguration {
115
123
  export interface DataDisk {
116
124
  /** The logical unit number. The logicalUnitNumber is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct logicalUnitNumber. The value must be between 0 and 63, inclusive. */
117
125
  lun: number;
118
- /** The type of caching to be enabled for the data disks. The default value for caching is readwrite. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. */
126
+ /**
127
+ * 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/.
128
+ *
129
+ * Possible values: "none", "readonly", "readwrite"
130
+ */
119
131
  caching?: CachingType;
120
132
  /** The initial disk size in gigabytes. */
121
133
  diskSizeGB: number;
122
- /** The storage Account type to be used for the data disk. If omitted, the default is "standard_lrs". */
134
+ /**
135
+ * The storage Account type to be used for the data disk. If omitted, the default is "standard_lrs".
136
+ *
137
+ * Possible values: "standard_lrs", "premium_lrs", "standardssd_lrs"
138
+ */
123
139
  storageAccountType?: StorageAccountType;
124
140
  }
125
141
  /** The configuration for container-enabled Pools. */
126
142
  export interface ContainerConfiguration {
127
- /** The container technology to be used. */
143
+ /**
144
+ * The container technology to be used.
145
+ *
146
+ * Possible values: "dockerCompatible", "criCompatible"
147
+ */
128
148
  type: ContainerType;
129
149
  /** The collection of container Image names. This is the full Image reference, as would be specified to "docker pull". An Image will be sourced from the default Docker registry unless the Image is fully qualified with an alternative registry. */
130
150
  containerImageNames?: string[];
@@ -156,7 +176,7 @@ export interface BatchNodeIdentityReference {
156
176
  * Azure Compute Gallery Image.
157
177
  */
158
178
  export interface DiskEncryptionConfiguration {
159
- /** The list of disk targets Batch Service will encrypt on the compute node. If omitted, no disks on the compute nodes in the pool will be encrypted. On Linux pool, only "TemporaryDisk" is supported; on Windows pool, "OsDisk" and "TemporaryDisk" must be specified. */
179
+ /** The list of disk targets Batch Service will encrypt on the compute node. The list of disk targets Batch Service will encrypt on the compute node. */
160
180
  targets?: DiskEncryptionTarget[];
161
181
  }
162
182
  /**
@@ -165,7 +185,11 @@ export interface DiskEncryptionConfiguration {
165
185
  * with best effort balancing.
166
186
  */
167
187
  export interface BatchNodePlacementConfiguration {
168
- /** Node placement Policy type on Batch Pools. Allocation policy used by Batch Service to provision the nodes. If not specified, Batch will use the regional policy. */
188
+ /**
189
+ * 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
+ *
191
+ * Possible values: "Shared", "Startup", "VfsMounts", "Task", "JobPrep", "Applications"
192
+ */
169
193
  policy?: BatchNodePlacementPolicyType;
170
194
  }
171
195
  /** The configuration for virtual machine extensions. */
@@ -193,7 +217,11 @@ export interface VMExtension {
193
217
  export interface OSDisk {
194
218
  /** Specifies the ephemeral Disk Settings for the operating system disk used by the compute node (VM). */
195
219
  ephemeralOSDiskSettings?: DiffDiskSettings;
196
- /** Specifies the caching requirements. Possible values are: None, ReadOnly, ReadWrite. The default values are: None for Standard storage. ReadOnly for Premium storage. */
220
+ /**
221
+ * Specifies the caching requirements. Possible values are: None, ReadOnly, ReadWrite. The default values are: None for Standard storage. ReadOnly for Premium storage.
222
+ *
223
+ * Possible values: "none", "readonly", "readwrite"
224
+ */
197
225
  caching?: CachingType;
198
226
  /** The initial disk size in GB when creating new OS disk. */
199
227
  diskSizeGB?: number;
@@ -207,19 +235,42 @@ export interface OSDisk {
207
235
  * compute node (VM).
208
236
  */
209
237
  export interface DiffDiskSettings {
210
- /** Specifies the ephemeral disk placement for operating system disk for all VMs in the pool. This property can be used by user in the request to choose the location e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements. */
238
+ /**
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.
240
+ *
241
+ * Possible values: "cachedisk"
242
+ */
211
243
  placement?: DiffDiskPlacement;
212
244
  }
213
245
  /** The managed disk parameters. */
214
246
  export interface ManagedDisk {
215
- /** The storage account type for managed disk. */
216
- storageAccountType: StorageAccountType;
247
+ /**
248
+ * The storage account type for managed disk.
249
+ *
250
+ * Possible values: "standard_lrs", "premium_lrs", "standardssd_lrs"
251
+ */
252
+ storageAccountType?: StorageAccountType;
253
+ /** Specifies the security profile settings for the managed disk. */
254
+ securityProfile?: VMDiskSecurityProfile;
255
+ }
256
+ /** 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 {
258
+ /**
259
+ * 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
+ *
261
+ * Possible values: "NonPersistedTPM", "VMGuestStateOnly"
262
+ */
263
+ securityEncryptionType?: SecurityEncryptionTypes;
217
264
  }
218
265
  /** Specifies the security profile settings for the virtual machine or virtual machine scale set. */
219
266
  export interface SecurityProfile {
220
- /** This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself. */
267
+ /** 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. */
221
268
  encryptionAtHost: boolean;
222
- /** Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable UefiSettings. */
269
+ /**
270
+ * Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable UefiSettings.
271
+ *
272
+ * Possible values: "trustedLaunch", "confidentialVM"
273
+ */
223
274
  securityType: SecurityTypes;
224
275
  /** Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Specifies the security settings like secure boot and vTPM used while creating the virtual machine. */
225
276
  uefiSettings: UefiSettings;
@@ -241,13 +292,17 @@ export interface ServiceArtifactReference {
241
292
  }
242
293
  /** The network configuration for a Pool. */
243
294
  export interface NetworkConfiguration {
244
- /** The ARM resource identifier of the virtual network subnet which the Compute Nodes of the Pool will join. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}. The virtual network must be in the same region and subscription as the Azure Batch Account. The specified subnet should have enough free IP addresses to accommodate the number of Compute Nodes in the Pool. If the subnet doesn't have enough free IP addresses, the Pool will partially allocate Nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule Tasks on the Nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the Nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the Compute Nodes to unusable. For Pools created with virtualMachineConfiguration only ARM virtual networks ('Microsoft.Network/virtualNetworks') are supported. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication. For Pools created with a virtual machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. Also enable outbound connections to Azure Storage on port 443. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration. */
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. */
245
296
  subnetId?: string;
246
- /** The scope of dynamic vnet assignment. */
297
+ /**
298
+ * The scope of dynamic vnet assignment.
299
+ *
300
+ * Possible values: "none", "job"
301
+ */
247
302
  dynamicVNetAssignmentScope?: DynamicVNetAssignmentScope;
248
- /** The configuration for endpoints on Compute Nodes in the Batch Pool. Pool endpoint configuration is only supported on Pools with the virtualMachineConfiguration property. */
303
+ /** The configuration for endpoints on Compute Nodes in the Batch Pool. */
249
304
  endpointConfiguration?: BatchPoolEndpointConfiguration;
250
- /** The Public IPAddress configuration for Compute Nodes in the Batch Pool. Public IP configuration property is only supported on Pools with the virtualMachineConfiguration property. */
305
+ /** The Public IPAddress configuration for Compute Nodes in the Batch Pool. */
251
306
  publicIPAddressConfiguration?: PublicIpAddressConfiguration;
252
307
  /** Whether this pool should enable accelerated networking. Accelerated networking enables single root I/O virtualization (SR-IOV) to a VM, which may lead to improved networking performance. For more details, see: https://learn.microsoft.com/azure/virtual-network/accelerated-networking-overview. */
253
308
  enableAcceleratedNetworking?: boolean;
@@ -264,7 +319,11 @@ export interface BatchPoolEndpointConfiguration {
264
319
  export interface InboundNatPool {
265
320
  /** The name of the endpoint. The name must be unique within a Batch Pool, can contain letters, numbers, underscores, periods, and hyphens. Names must start with a letter or number, must end with a letter, number, or underscore, and cannot exceed 77 characters. If any invalid values are provided the request fails with HTTP status code 400. */
266
321
  name: string;
267
- /** The protocol of the endpoint. */
322
+ /**
323
+ * The protocol of the endpoint.
324
+ *
325
+ * Possible values: "tcp", "udp"
326
+ */
268
327
  protocol: InboundEndpointProtocol;
269
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. */
270
329
  backendPort: number;
@@ -279,7 +338,11 @@ export interface InboundNatPool {
279
338
  export interface NetworkSecurityGroupRule {
280
339
  /** The priority for this rule. Priorities within a Pool must be unique and are evaluated in order of priority. The lower the number the higher the priority. For example, rules could be specified with order numbers of 150, 250, and 350. The rule with the order number of 150 takes precedence over the rule that has an order of 250. Allowed priorities are 150 to 4096. If any reserved or duplicate values are provided the request fails with HTTP status code 400. */
281
340
  priority: number;
282
- /** The action that should be taken for a specified IP address, subnet range or tag. */
341
+ /**
342
+ * The action that should be taken for a specified IP address, subnet range or tag.
343
+ *
344
+ * Possible values: "allow", "deny"
345
+ */
283
346
  access: NetworkSecurityGroupRuleAccess;
284
347
  /** The source address prefix or tag to match for the rule. Valid values are a single IP address (i.e. 10.10.10.10), IP subnet (i.e. 192.168.1.0/24), default tag, or * (for all addresses). If any other values are provided the request fails with HTTP status code 400. */
285
348
  sourceAddressPrefix: string;
@@ -288,7 +351,11 @@ export interface NetworkSecurityGroupRule {
288
351
  }
289
352
  /** The public IP Address configuration of the networking configuration of a Pool. */
290
353
  export interface PublicIpAddressConfiguration {
291
- /** The provisioning type for Public IP Addresses for the Pool. The default value is BatchManaged. */
354
+ /**
355
+ * The provisioning type for Public IP Addresses for the Pool. The default value is BatchManaged.
356
+ *
357
+ * Possible values: "batchmanaged", "usermanaged", "nopublicipaddresses"
358
+ */
292
359
  provision?: IpAddressProvisioningType;
293
360
  /** The list of public IPs which the Batch service will use when provisioning Compute Nodes. The number of IPs specified here limits the maximum size of the Pool - 100 dedicated nodes or 100 Spot/Low-priority nodes can be allocated for each public IP. For example, a pool needing 250 dedicated VMs would need at least 3 public IPs specified. Each element of this collection is of the form: /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}. */
294
361
  ipAddressIds?: string[];
@@ -309,7 +376,7 @@ export interface PublicIpAddressConfiguration {
309
376
  * block Batch from being able to re-run the StartTask.
310
377
  */
311
378
  export interface BatchStartTask {
312
- /** The command line of the StartTask. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables). */
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). */
313
380
  commandLine: string;
314
381
  /** The settings for the container under which the StartTask runs. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files. */
315
382
  containerSettings?: BatchTaskContainerSettings;
@@ -332,8 +399,25 @@ export interface BatchTaskContainerSettings {
332
399
  imageName: string;
333
400
  /** The private registry which contains the container Image. This setting can be omitted if was already provided at Pool creation. */
334
401
  registry?: ContainerRegistryReference;
335
- /** The location of the container Task working directory. The default is 'taskWorkingDirectory'. */
402
+ /**
403
+ * The location of the container Task working directory. The default is 'taskWorkingDirectory'.
404
+ *
405
+ * Possible values: "taskWorkingDirectory", "containerImageDefault"
406
+ */
336
407
  workingDirectory?: ContainerWorkingDirectory;
408
+ /** 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. */
409
+ containerHostBatchBindMounts?: Array<ContainerHostBatchBindMountEntry>;
410
+ }
411
+ /** The entry of path and mount mode you want to mount into task container. */
412
+ export interface ContainerHostBatchBindMountEntry {
413
+ /**
414
+ * The path which be mounted to container customer can select.
415
+ *
416
+ * Possible values: "regional", "zonal"
417
+ */
418
+ source?: ContainerHostDataPath;
419
+ /** 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. */
420
+ isReadOnly?: boolean;
337
421
  }
338
422
  /** A single file or multiple files to be downloaded to a Compute Node. */
339
423
  export interface ResourceFile {
@@ -368,9 +452,17 @@ export interface UserIdentity {
368
452
  }
369
453
  /** Specifies the options for the auto user that runs an Azure Batch Task. */
370
454
  export interface AutoUserSpecification {
371
- /** The scope for the auto user. The default value is pool. If the pool is running Windows, a value of Task should be specified if stricter isolation between tasks is required, such as if the task mutates the registry in a way which could impact other tasks. */
455
+ /**
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.
457
+ *
458
+ * Possible values: "task", "pool"
459
+ */
372
460
  scope?: AutoUserScope;
373
- /** The elevation level of the auto user. The default value is nonAdmin. */
461
+ /**
462
+ * The elevation level of the auto user. The default value is nonAdmin.
463
+ *
464
+ * Possible values: "nonadmin", "admin"
465
+ */
374
466
  elevationLevel?: ElevationLevel;
375
467
  }
376
468
  /** A reference to an Package to be deployed to Compute Nodes. */
@@ -382,7 +474,11 @@ export interface BatchApplicationPackageReference {
382
474
  }
383
475
  /** Specifies how Tasks should be distributed across Compute Nodes. */
384
476
  export interface BatchTaskSchedulingPolicy {
385
- /** How Tasks are distributed across Compute Nodes in a Pool. If not specified, the default is spread. */
477
+ /**
478
+ * How Tasks are distributed across Compute Nodes in a Pool. If not specified, the default is spread.
479
+ *
480
+ * Possible values: "spread", "pack"
481
+ */
386
482
  nodeFillType: BatchNodeFillType;
387
483
  }
388
484
  /**
@@ -394,7 +490,11 @@ export interface UserAccount {
394
490
  name: string;
395
491
  /** The password for the user Account. */
396
492
  password: string;
397
- /** The elevation level of the user Account. The default value is nonAdmin. */
493
+ /**
494
+ * The elevation level of the user Account. The default value is nonAdmin.
495
+ *
496
+ * Possible values: "nonadmin", "admin"
497
+ */
398
498
  elevationLevel?: ElevationLevel;
399
499
  /** The Linux-specific user configuration for the user Account. This property is ignored if specified on a Windows Pool. If not specified, the user is created with the default options. */
400
500
  linuxUserConfiguration?: LinuxUserConfiguration;
@@ -412,7 +512,11 @@ export interface LinuxUserConfiguration {
412
512
  }
413
513
  /** Properties used to create a user Account on a Windows Compute Node. */
414
514
  export interface WindowsUserConfiguration {
415
- /** The login mode for the user. The default value for VirtualMachineConfiguration Pools is 'batch'. */
515
+ /**
516
+ * The login mode for the user. The default is 'batch'.
517
+ *
518
+ * Possible values: "batch", "interactive"
519
+ */
416
520
  loginMode?: LoginMode;
417
521
  }
418
522
  /**
@@ -490,18 +594,22 @@ export interface AzureFileShareConfiguration {
490
594
  }
491
595
  /** Describes an upgrade policy - automatic, manual, or rolling. */
492
596
  export interface UpgradePolicy {
493
- /** Specifies the mode of an upgrade to virtual machines in the scale set.<br /><br /> Possible values are:<br /><br /> **Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.<br /><br /> **Automatic** - All virtual machines in the scale set are automatically updated at the same time.<br /><br /> **Rolling** - Scale set performs updates in batches with an optional pause time in between. */
597
+ /**
598
+ * 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.
599
+ *
600
+ * Possible values: "automatic", "manual", "rolling"
601
+ */
494
602
  mode: UpgradeMode;
495
603
  /** Configuration parameters used for performing automatic OS Upgrade. The configuration parameters used for performing automatic OS upgrade. */
496
604
  automaticOSUpgradePolicy?: AutomaticOsUpgradePolicy;
497
- /** The configuration parameters used while performing a rolling upgrade. This property is only supported on Pools with the virtualMachineConfiguration property. */
605
+ /** The configuration parameters used while performing a rolling upgrade. */
498
606
  rollingUpgradePolicy?: RollingUpgradePolicy;
499
607
  }
500
608
  /** The configuration parameters used for performing automatic OS upgrade. */
501
609
  export interface AutomaticOsUpgradePolicy {
502
610
  /** Whether OS image rollback feature should be disabled. */
503
611
  disableAutomaticRollback?: boolean;
504
- /** Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. <br /><br /> If this is set to true for Windows based pools, [WindowsConfiguration.enableAutomaticUpdates](https://learn.microsoft.com/en-us/rest/api/batchservice/pool/add?tabs=HTTP#windowsconfiguration) cannot be set to true. */
612
+ /** Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. <br /><br /> If this is set to true for Windows based pools, [WindowsConfiguration.enableAutomaticUpdates](https://learn.microsoft.com/rest/api/batchservice/pool/add?tabs=HTTP#windowsconfiguration) cannot be set to true. */
505
613
  enableAutomaticOSUpgrade?: boolean;
506
614
  /** Indicates whether rolling upgrade policy should be used during Auto OS Upgrade. Auto OS Upgrade will fallback to the default policy if no policy is defined on the VMSS. */
507
615
  useRollingUpgradePolicy?: boolean;
@@ -534,25 +642,51 @@ export interface NameValuePair {
534
642
  }
535
643
  /** Parameters for updating an Azure Batch Pool. */
536
644
  export interface BatchPoolUpdateContent {
645
+ /** 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
+ 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. */
648
+ vmSize?: string;
649
+ /** 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
+ enableInterNodeCommunication?: boolean;
537
651
  /** A Task to run on each Compute Node as it joins the Pool. The Task runs when the Compute Node is added to the Pool or when the Compute Node is restarted. If this element is present, it overwrites any existing StartTask. If omitted, any existing StartTask is left unchanged. */
538
652
  startTask?: BatchStartTask;
539
653
  /** A list of Packages to be installed on each Compute Node in the Pool. Changes to Package references affect all new Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. If this element is present, it replaces any existing Package references. If you specify an empty collection, then all Package references are removed from the Pool. If omitted, any existing Package references are left unchanged. */
540
654
  applicationPackageReferences?: Array<BatchApplicationPackageReference>;
541
655
  /** A list of name-value pairs associated with the Pool as metadata. If this element is present, it replaces any existing metadata configured on the Pool. If you specify an empty collection, any metadata is removed from the Pool. If omitted, any existing metadata is left unchanged. */
542
656
  metadata?: Array<MetadataItem>;
543
- /** The desired node communication mode for the pool. If this element is present, it replaces the existing targetNodeCommunicationMode configured on the Pool. If omitted, any existing metadata is left unchanged. */
657
+ /** 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
+ virtualMachineConfiguration?: VirtualMachineConfiguration;
659
+ /**
660
+ * The desired node communication mode for the pool. If this element is present, it replaces the existing targetNodeCommunicationMode configured on the Pool. If omitted, any existing metadata is left unchanged.
661
+ *
662
+ * Possible values: "default", "classic", "simplified"
663
+ */
544
664
  targetNodeCommunicationMode?: BatchNodeCommunicationMode;
665
+ /** The number of task slots that can be used to run concurrent tasks on a single compute node in the pool. The default value is 1. The maximum value is the smaller of 4 times the number of cores of the vmSize of the pool or 256.<br /><br />This field can be updated only when the pool is empty. */
666
+ taskSlotsPerNode?: number;
667
+ /** How Tasks are distributed across Compute Nodes in a Pool. If not specified, the default is spread.<br /><br />This field can be updated only when the pool is empty. */
668
+ taskSchedulingPolicy?: BatchTaskSchedulingPolicy;
669
+ /** The network configuration for the Pool. This field can be updated only when the pool is empty. */
670
+ networkConfiguration?: NetworkConfiguration;
671
+ /** The user-specified tags associated with the pool. The user-defined tags to be associated with the Azure Batch Pool. When specified, these tags are propagated to the backing Azure resources associated with the pool. This property can only be specified when the Batch account was created with the poolAllocationMode property set to 'UserSubscription'.<br /><br />This field can be updated only when the pool is empty. */
672
+ resourceTags?: Record<string, string>;
673
+ /** The list of user Accounts to be created on each Compute Node in the Pool. This field can be updated only when the pool is empty. */
674
+ userAccounts?: Array<UserAccount>;
675
+ /** Mount storage using specified file system for the entire lifetime of the pool. Mount the storage using Azure fileshare, NFS, CIFS or Blobfuse based file system.<br /><br />This field can be updated only when the pool is empty. */
676
+ mountConfiguration?: Array<MountConfiguration>;
677
+ /** The upgrade policy for the Pool. Describes an upgrade policy - automatic, manual, or rolling.<br /><br />This field can be updated only when the pool is empty. */
678
+ upgradePolicy?: UpgradePolicy;
545
679
  }
546
680
  /** Parameters for enabling automatic scaling on an Azure Batch Pool. */
547
681
  export interface BatchPoolEnableAutoScaleContent {
548
- /** The formula for the desired number of Compute Nodes in the Pool. The formula is checked for validity before it is applied to the Pool. If the formula is not valid, the Batch service rejects the request with detailed error information. For more information about specifying this formula, see Automatically scale Compute Nodes in an Azure Batch Pool (https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling). */
682
+ /** The formula for the desired number of Compute Nodes in the Pool. The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service rejects the request with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). If you specify a new interval, then the existing autoscale evaluation schedule will be stopped and a new autoscale evaluation schedule will be started, with its starting time being the time when this request was issued. */
549
683
  autoScaleFormula?: string;
550
684
  /** The time interval at which to automatically adjust the Pool size according to the autoscale formula. The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service rejects the request with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). If you specify a new interval, then the existing autoscale evaluation schedule will be stopped and a new autoscale evaluation schedule will be started, with its starting time being the time when this request was issued. */
551
685
  autoScaleEvaluationInterval?: string;
552
686
  }
553
687
  /** Parameters for evaluating an automatic scaling formula on an Azure Batch Pool. */
554
688
  export interface BatchPoolEvaluateAutoScaleContent {
555
- /** The formula for the desired number of Compute Nodes in the Pool. The formula is validated and its results calculated, but it is not applied to the Pool. To apply the formula to the Pool, 'Enable automatic scaling on a Pool'. For more information about specifying this formula, see Automatically scale Compute Nodes in an Azure Batch Pool (https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling). */
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). */
556
690
  autoScaleFormula: string;
557
691
  }
558
692
  /** Parameters for changing the size of an Azure Batch Pool. */
@@ -563,7 +697,11 @@ export interface BatchPoolResizeContent {
563
697
  targetLowPriorityNodes?: number;
564
698
  /** The timeout for allocation of Nodes to the Pool or removal of Compute Nodes from the Pool. The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). */
565
699
  resizeTimeout?: string;
566
- /** Determines what to do with a Compute Node and its running task(s) if the Pool size is decreasing. The default value is requeue. */
700
+ /**
701
+ * Determines what to do with a Compute Node and its running task(s) if the Pool size is decreasing. The default value is requeue.
702
+ *
703
+ * Possible values: "requeue", "terminate", "taskcompletion", "retaineddata"
704
+ */
567
705
  nodeDeallocationOption?: BatchNodeDeallocationOption;
568
706
  }
569
707
  /** Parameters for replacing properties on an Azure Batch Pool. */
@@ -574,7 +712,11 @@ export interface BatchPoolReplaceContent {
574
712
  applicationPackageReferences: Array<BatchApplicationPackageReference>;
575
713
  /** A list of name-value pairs associated with the Pool as metadata. This list replaces any existing metadata configured on the Pool. If omitted, or if you specify an empty collection, any existing metadata is removed from the Pool. */
576
714
  metadata: Array<MetadataItem>;
577
- /** The desired node communication mode for the pool. This setting replaces any existing targetNodeCommunication setting on the Pool. If omitted, the existing setting is default. */
715
+ /**
716
+ * 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
+ *
718
+ * Possible values: "default", "classic", "simplified"
719
+ */
578
720
  targetNodeCommunicationMode?: BatchNodeCommunicationMode;
579
721
  }
580
722
  /** Parameters for removing nodes from an Azure Batch Pool. */
@@ -583,7 +725,11 @@ export interface BatchNodeRemoveContent {
583
725
  nodeList: string[];
584
726
  /** The timeout for removal of Compute Nodes to the Pool. The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). */
585
727
  resizeTimeout?: string;
586
- /** Determines what to do with a Compute Node and its running task(s) after it has been selected for deallocation. The default value is requeue. */
728
+ /**
729
+ * Determines what to do with a Compute Node and its running task(s) after it has been selected for deallocation. The default value is requeue.
730
+ *
731
+ * Possible values: "requeue", "terminate", "taskcompletion", "retaineddata"
732
+ */
587
733
  nodeDeallocationOption?: BatchNodeDeallocationOption;
588
734
  }
589
735
  /** An Azure Batch Job. */
@@ -598,7 +744,11 @@ export interface BatchJob {
598
744
  constraints?: BatchJobConstraints;
599
745
  /** The Pool settings associated with the Job. */
600
746
  poolInfo: BatchPoolInfo;
601
- /** The action the Batch service should take when all Tasks in the Job are in the completed state. The default is noaction. */
747
+ /**
748
+ * The action the Batch service should take when all Tasks in the Job are in the completed state. The default is noaction.
749
+ *
750
+ * Possible values: "noaction", "terminatejob"
751
+ */
602
752
  onAllTasksComplete?: OnAllBatchTasksComplete;
603
753
  /** A list of name-value pairs associated with the Job as metadata. The Batch service does not assign any meaning to metadata; it is solely for the use of user code. */
604
754
  metadata?: Array<MetadataItem>;
@@ -640,7 +790,7 @@ export interface BatchJobManagerTask {
640
790
  id: string;
641
791
  /** The display name of the Job Manager Task. It need not be unique and can contain any Unicode characters up to a maximum length of 1024. */
642
792
  displayName?: string;
643
- /** The command line of the Job Manager Task. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables). */
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). */
644
794
  commandLine: string;
645
795
  /** The settings for the container under which the Job Manager Task runs. If the Pool that will run this Task has containerConfiguration set, this must be set as well. If the Pool that will run this Task doesn't have containerConfiguration set, this must not be set. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files. */
646
796
  containerSettings?: BatchTaskContainerSettings;
@@ -698,7 +848,7 @@ export interface OutputFileBlobContainerDestination {
698
848
  containerUrl: string;
699
849
  /** The reference to the user assigned identity to use to access Azure Blob Storage specified by containerUrl. The identity must have write access to the Azure Blob Storage container. */
700
850
  identityReference?: BatchNodeIdentityReference;
701
- /** A list of name-value pairs for headers to be used in uploading output files. These headers will be specified when uploading files to Azure Storage. Official document on allowed headers when uploading blobs: https://docs.microsoft.com/en-us/rest/api/storageservices/put-blob#request-headers-all-blob-types. */
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. */
702
852
  uploadHeaders?: Array<HttpHeader>;
703
853
  }
704
854
  /** An HTTP header name-value pair */
@@ -713,7 +863,11 @@ export interface HttpHeader {
713
863
  * to perform the upload.
714
864
  */
715
865
  export interface OutputFileUploadConfig {
716
- /** The conditions under which the Task output file or set of files should be uploaded. The default is taskcompletion. */
866
+ /**
867
+ * The conditions under which the Task output file or set of files should be uploaded. The default is taskcompletion.
868
+ *
869
+ * Possible values: "tasksuccess", "taskfailure", "taskcompletion"
870
+ */
717
871
  uploadCondition: OutputFileUploadCondition;
718
872
  }
719
873
  /** Execution constraints to apply to a Task. */
@@ -764,7 +918,7 @@ export interface AuthenticationTokenSettings {
764
918
  export interface BatchJobPreparationTask {
765
919
  /** A string that uniquely identifies the Job Preparation Task within the Job. The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. If you do not specify this property, the Batch service assigns a default value of 'jobpreparation'. No other Task in the Job can have the same ID as the Job Preparation Task. If you try to submit a Task with the same id, the Batch service rejects the request with error code TaskIdSameAsJobPreparationTask; if you are calling the REST API directly, the HTTP status code is 409 (Conflict). */
766
920
  id?: string;
767
- /** The command line of the Job Preparation Task. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables). */
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). */
768
922
  commandLine: string;
769
923
  /** The settings for the container under which the Job Preparation Task runs. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files. */
770
924
  containerSettings?: BatchTaskContainerSettings;
@@ -802,7 +956,7 @@ export interface BatchJobPreparationTask {
802
956
  export interface BatchJobReleaseTask {
803
957
  /** A string that uniquely identifies the Job Release Task within the Job. The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. If you do not specify this property, the Batch service assigns a default value of 'jobrelease'. No other Task in the Job can have the same ID as the Job Release Task. If you try to submit a Task with the same id, the Batch service rejects the request with error code TaskIdSameAsJobReleaseTask; if you are calling the REST API directly, the HTTP status code is 409 (Conflict). */
804
958
  id?: string;
805
- /** The command line of the Job Release Task. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables). */
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). */
806
960
  commandLine: string;
807
961
  /** The settings for the container under which the Job Release Task runs. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files. */
808
962
  containerSettings?: BatchTaskContainerSettings;
@@ -831,7 +985,11 @@ export interface BatchPoolInfo {
831
985
  export interface BatchAutoPoolSpecification {
832
986
  /** A prefix to be added to the unique identifier when a Pool is automatically created. The Batch service assigns each auto Pool a unique identifier on creation. To distinguish between Pools created for different purposes, you can specify this element to add a prefix to the ID that is assigned. The prefix can be up to 20 characters long. */
833
987
  autoPoolIdPrefix?: string;
834
- /** The minimum lifetime of created auto Pools, and how multiple Jobs on a schedule are assigned to Pools. */
988
+ /**
989
+ * The minimum lifetime of created auto Pools, and how multiple Jobs on a schedule are assigned to Pools.
990
+ *
991
+ * Possible values: "jobschedule", "job"
992
+ */
835
993
  poolLifetimeOption: BatchPoolLifetimeOption;
836
994
  /** Whether to keep an auto Pool alive after its lifetime expires. If false, the Batch service deletes the Pool once its lifetime (as determined by the poolLifetimeOption setting) expires; that is, when the Job or Job Schedule completes. If true, the Batch service does not delete the Pool automatically. It is up to the user to delete auto Pools created with this option. */
837
995
  keepAlive?: boolean;
@@ -844,7 +1002,7 @@ export interface BatchPoolSpecification {
844
1002
  displayName?: string;
845
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). */
846
1004
  vmSize: string;
847
- /** The virtual machine configuration for the Pool. This property must be specified if the Pool needs to be created with Azure IaaS VMs. If it is not specified then the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). */
1005
+ /** The virtual machine configuration for the Pool. This property must be specified. */
848
1006
  virtualMachineConfiguration?: VirtualMachineConfiguration;
849
1007
  /** The number of task slots that can be used to run concurrent tasks on a single compute node in the pool. The default value is 1. The maximum value is the smaller of 4 times the number of cores of the vmSize of the pool or 256. */
850
1008
  taskSlotsPerNode?: number;
@@ -878,15 +1036,21 @@ export interface BatchPoolSpecification {
878
1036
  metadata?: Array<MetadataItem>;
879
1037
  /** A list of file systems to mount on each node in the pool. This supports Azure Files, NFS, CIFS/SMB, and Blobfuse. */
880
1038
  mountConfiguration?: Array<MountConfiguration>;
881
- /** The desired node communication mode for the pool. If omitted, the default value is Default. */
1039
+ /**
1040
+ * The desired node communication mode for the pool. If omitted, the default value is Default.
1041
+ *
1042
+ * Possible values: "default", "classic", "simplified"
1043
+ */
882
1044
  targetNodeCommunicationMode?: BatchNodeCommunicationMode;
883
1045
  /** The upgrade policy for the Pool. Describes an upgrade policy - automatic, manual, or rolling. */
884
1046
  upgradePolicy?: UpgradePolicy;
885
1047
  }
886
1048
  /** The network configuration for the Job. */
887
1049
  export interface BatchJobNetworkConfiguration {
888
- /** The ARM resource identifier of the virtual network subnet which Compute Nodes running Tasks from the Job will join for the duration of the Task. This will only work with a VirtualMachineConfiguration Pool. The virtual network must be in the same region and subscription as the Azure Batch Account. The specified subnet should have enough free IP addresses to accommodate the number of Compute Nodes which will run Tasks from the Job. This can be up to the number of Compute Nodes in the Pool. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet so that Azure Batch service can schedule Tasks on the Nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the Nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the Compute Nodes to unusable. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication from the Azure Batch service. For Pools created with a Virtual Machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. Port 443 is also required to be open for outbound connections for communications to Azure Storage. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration. */
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. */
889
1051
  subnetId: string;
1052
+ /** 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;
890
1054
  }
891
1055
  /** Contains information about the execution of a Job in the Azure Batch service. */
892
1056
  export interface BatchJobExecutionInfo {
@@ -903,7 +1067,11 @@ export interface BatchJobExecutionInfo {
903
1067
  }
904
1068
  /** An error encountered by the Batch service when scheduling a Job. */
905
1069
  export interface BatchJobSchedulingError {
906
- /** The category of the Job scheduling error. */
1070
+ /**
1071
+ * The category of the Job scheduling error.
1072
+ *
1073
+ * Possible values: "usererror", "servererror"
1074
+ */
907
1075
  category: ErrorCategory;
908
1076
  /** An identifier for the Job scheduling error. Codes are invariant and are intended to be consumed programmatically. */
909
1077
  code?: string;
@@ -955,14 +1123,24 @@ export interface BatchJobUpdateContent {
955
1123
  constraints?: BatchJobConstraints;
956
1124
  /** The Pool on which the Batch service runs the Job's Tasks. You may change the Pool for a Job only when the Job is disabled. The Patch Job call will fail if you include the poolInfo element and the Job is not disabled. If you specify an autoPoolSpecification in the poolInfo, only the keepAlive property of the autoPoolSpecification can be updated, and then only if the autoPoolSpecification has a poolLifetimeOption of Job (other job properties can be updated as normal). If omitted, the Job continues to run on its current Pool. */
957
1125
  poolInfo?: BatchPoolInfo;
958
- /** The action the Batch service should take when all Tasks in the Job are in the completed state. If omitted, the completion behavior is left unchanged. You may not change the value from terminatejob to noaction - that is, once you have engaged automatic Job termination, you cannot turn it off again. If you try to do this, the request fails with an 'invalid property value' error response; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). */
1126
+ /**
1127
+ * The action the Batch service should take when all Tasks in the Job are in the completed state. If omitted, the completion behavior is left unchanged. You may not change the value from terminatejob to noaction - that is, once you have engaged automatic Job termination, you cannot turn it off again. If you try to do this, the request fails with an 'invalid property value' error response; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).
1128
+ *
1129
+ * Possible values: "noaction", "terminatejob"
1130
+ */
959
1131
  onAllTasksComplete?: OnAllBatchTasksComplete;
960
1132
  /** A list of name-value pairs associated with the Job as metadata. If omitted, the existing Job metadata is left unchanged. */
961
1133
  metadata?: Array<MetadataItem>;
1134
+ /** The network configuration for the Job. */
1135
+ networkConfiguration?: BatchJobNetworkConfiguration;
962
1136
  }
963
1137
  /** Parameters for disabling an Azure Batch Job. */
964
1138
  export interface BatchJobDisableContent {
965
- /** What to do with active Tasks associated with the Job. */
1139
+ /**
1140
+ * What to do with active Tasks associated with the Job.
1141
+ *
1142
+ * Possible values: "requeue", "terminate", "wait"
1143
+ */
966
1144
  disableTasks: DisableBatchJobOption;
967
1145
  }
968
1146
  /** Parameters for terminating an Azure Batch Job. */
@@ -996,9 +1174,17 @@ export interface BatchJobCreateContent {
996
1174
  commonEnvironmentSettings?: Array<EnvironmentSetting>;
997
1175
  /** The Pool on which the Batch service runs the Job's Tasks. */
998
1176
  poolInfo: BatchPoolInfo;
999
- /** The action the Batch service should take when all Tasks in the Job are in the completed state. Note that if a Job contains no Tasks, then all Tasks are considered complete. This option is therefore most commonly used with a Job Manager task; if you want to use automatic Job termination without a Job Manager, you should initially set onAllTasksComplete to noaction and update the Job properties to set onAllTasksComplete to terminatejob once you have finished adding Tasks. The default is noaction. */
1177
+ /**
1178
+ * The action the Batch service should take when all Tasks in the Job are in the completed state. Note that if a Job contains no Tasks, then all Tasks are considered complete. This option is therefore most commonly used with a Job Manager task; if you want to use automatic Job termination without a Job Manager, you should initially set onAllTasksComplete to noaction and update the Job properties to set onAllTasksComplete to terminatejob once you have finished adding Tasks. The default is noaction.
1179
+ *
1180
+ * Possible values: "noaction", "terminatejob"
1181
+ */
1000
1182
  onAllTasksComplete?: OnAllBatchTasksComplete;
1001
- /** The action the Batch service should take when any Task in the Job fails. A Task is considered to have failed if has a failureInfo. A failureInfo is set if the Task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the Task, for example due to a resource file download error. The default is noaction. */
1183
+ /**
1184
+ * 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
+ *
1186
+ * Possible values: "noaction", "performexitoptionsjobaction"
1187
+ */
1002
1188
  onTaskFailure?: OnBatchTaskFailure;
1003
1189
  /** The network configuration for the Job. */
1004
1190
  networkConfiguration?: BatchJobNetworkConfiguration;
@@ -1016,7 +1202,11 @@ export interface BatchTaskContainerExecutionInfo {
1016
1202
  }
1017
1203
  /** Information about a Task failure. */
1018
1204
  export interface BatchTaskFailureInfo {
1019
- /** The category of the Task error. */
1205
+ /**
1206
+ * The category of the Task error.
1207
+ *
1208
+ * Possible values: "usererror", "servererror"
1209
+ */
1020
1210
  category: ErrorCategory;
1021
1211
  /** An identifier for the Task error. Codes are invariant and are intended to be consumed programmatically. */
1022
1212
  code?: string;
@@ -1063,9 +1253,17 @@ export interface BatchJobSpecification {
1063
1253
  displayName?: string;
1064
1254
  /** Whether Tasks in the Job can define dependencies on each other. The default is false. */
1065
1255
  usesTaskDependencies?: boolean;
1066
- /** The action the Batch service should take when all Tasks in a Job created under this schedule are in the completed state. Note that if a Job contains no Tasks, then all Tasks are considered complete. This option is therefore most commonly used with a Job Manager task; if you want to use automatic Job termination without a Job Manager, you should initially set onAllTasksComplete to noaction and update the Job properties to set onAllTasksComplete to terminatejob once you have finished adding Tasks. The default is noaction. */
1256
+ /**
1257
+ * 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.
1258
+ *
1259
+ * Possible values: "noaction", "terminatejob"
1260
+ */
1067
1261
  onAllTasksComplete?: OnAllBatchTasksComplete;
1068
- /** The action the Batch service should take when any Task fails in a Job created under this schedule. A Task is considered to have failed if it have failed if has a failureInfo. A failureInfo is set if the Task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the Task, for example due to a resource file download error. The default is noaction. */
1262
+ /**
1263
+ * 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
+ *
1265
+ * Possible values: "noaction", "performexitoptionsjobaction"
1266
+ */
1069
1267
  onTaskFailure?: OnBatchTaskFailure;
1070
1268
  /** The network configuration for the Job. */
1071
1269
  networkConfiguration?: BatchJobNetworkConfiguration;
@@ -1216,9 +1414,17 @@ export interface ExitCodeMapping {
1216
1414
  }
1217
1415
  /** Specifies how the Batch service responds to a particular exit condition. */
1218
1416
  export interface ExitOptions {
1219
- /** An action to take on the Job containing the Task, if the Task completes with the given exit condition and the Job's onTaskFailed property is 'performExitOptionsJobAction'. The default is none for exit code 0 and terminate for all other exit conditions. If the Job's onTaskFailed property is noaction, then specifying this property returns an error and the add Task request fails with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). */
1417
+ /**
1418
+ * 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).
1419
+ *
1420
+ * Possible values: "none", "disable", "terminate"
1421
+ */
1220
1422
  jobAction?: BatchJobAction;
1221
- /** An action that the Batch service performs on Tasks that depend on this Task. Possible values are 'satisfy' (allowing dependent tasks to progress) and 'block' (dependent tasks continue to wait). Batch does not yet support cancellation of dependent tasks. */
1423
+ /**
1424
+ * 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
+ *
1426
+ * Possible values: "satisfy", "block"
1427
+ */
1222
1428
  dependencyAction?: DependencyAction;
1223
1429
  }
1224
1430
  /**
@@ -1311,7 +1517,11 @@ export interface BatchTaskExecutionInfo {
1311
1517
  requeueCount: number;
1312
1518
  /** The most recent time at which the Task has been requeued by the Batch service as the result of a user request. This property is set only if the requeueCount is nonzero. */
1313
1519
  lastRequeueTime?: Date | string;
1314
- /** The result of the Task execution. If the value is 'failed', then the details of the failure can be found in the failureInfo property. */
1520
+ /**
1521
+ * The result of the Task execution. If the value is 'failed', then the details of the failure can be found in the failureInfo property.
1522
+ *
1523
+ * Possible values: "success", "failure"
1524
+ */
1315
1525
  result?: BatchTaskExecutionResult;
1316
1526
  }
1317
1527
  /** Information about the Compute Node on which a Task ran. */
@@ -1367,14 +1577,14 @@ export interface BatchNodeUserCreateContent {
1367
1577
  isAdmin?: boolean;
1368
1578
  /** The time at which the Account should expire. If omitted, the default is 1 day from the current time. For Linux Compute Nodes, the expiryTime has a precision up to a day. */
1369
1579
  expiryTime?: Date | string;
1370
- /** The password of the Account. The password is required for Windows Compute Nodes (those created with 'virtualMachineConfiguration' using a Windows Image reference). For Linux Compute Nodes, the password can optionally be specified along with the sshPublicKey property. */
1580
+ /** The password of the Account. The password is required for Windows Compute Nodes. For Linux Compute Nodes, the password can optionally be specified along with the sshPublicKey property. */
1371
1581
  password?: string;
1372
1582
  /** The SSH public key that can be used for remote login to the Compute Node. The public key should be compatible with OpenSSH encoding and should be base 64 encoded. This property can be specified only for Linux Compute Nodes. If this is specified for a Windows Compute Node, then the Batch service rejects the request; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). */
1373
1583
  sshPublicKey?: string;
1374
1584
  }
1375
1585
  /** Parameters for updating a user account for RDP or SSH access on an Azure Batch Compute Node. */
1376
1586
  export interface BatchNodeUserUpdateContent {
1377
- /** The password of the Account. The password is required for Windows Compute Nodes (those created with 'virtualMachineConfiguration' using a Windows Image reference). For Linux Compute Nodes, the password can optionally be specified along with the sshPublicKey property. If omitted, any existing password is removed. */
1587
+ /** The password of the Account. The password is required for Windows Compute Nodes. For Linux Compute Nodes, the password can optionally be specified along with the sshPublicKey property. If omitted, any existing password is removed. */
1378
1588
  password?: string;
1379
1589
  /** The time at which the Account should expire. If omitted, the default is 1 day from the current time. For Linux Compute Nodes, the expiryTime has a precision up to a day. */
1380
1590
  expiryTime?: Date | string;
@@ -1383,12 +1593,38 @@ export interface BatchNodeUserUpdateContent {
1383
1593
  }
1384
1594
  /** Parameters for rebooting an Azure Batch Compute Node. */
1385
1595
  export interface BatchNodeRebootContent {
1386
- /** When to reboot the Compute Node and what to do with currently running Tasks. The default value is requeue. */
1596
+ /**
1597
+ * When to reboot the Compute Node and what to do with currently running Tasks. The default value is requeue.
1598
+ *
1599
+ * Possible values: "requeue", "terminate", "taskcompletion", "retaineddata"
1600
+ */
1387
1601
  nodeRebootOption?: BatchNodeRebootOption;
1388
1602
  }
1603
+ /** Options for deallocating a Compute Node. */
1604
+ export interface BatchNodeDeallocateContent {
1605
+ /**
1606
+ * When to deallocate the Compute Node and what to do with currently running Tasks. The default value is requeue.
1607
+ *
1608
+ * Possible values: "requeue", "terminate", "taskcompletion", "retaineddata"
1609
+ */
1610
+ nodeDeallocateOption?: BatchNodeDeallocateOption;
1611
+ }
1612
+ /** Parameters for reimaging an Azure Batch Compute Node. */
1613
+ export interface BatchNodeReimageContent {
1614
+ /**
1615
+ * When to reimage the Compute Node and what to do with currently running Tasks. The default value is requeue.
1616
+ *
1617
+ * Possible values: "requeue", "terminate", "taskcompletion", "retaineddata"
1618
+ */
1619
+ nodeReimageOption?: BatchNodeReimageOption;
1620
+ }
1389
1621
  /** Parameters for disabling scheduling on an Azure Batch Compute Node. */
1390
1622
  export interface BatchNodeDisableSchedulingContent {
1391
- /** What to do with currently running Tasks when disabling Task scheduling on the Compute Node. The default value is requeue. */
1623
+ /**
1624
+ * What to do with currently running Tasks when disabling Task scheduling on the Compute Node. The default value is requeue.
1625
+ *
1626
+ * Possible values: "requeue", "terminate", "taskcompletion"
1627
+ */
1392
1628
  nodeDisableSchedulingOption?: BatchNodeDisableSchedulingOption;
1393
1629
  }
1394
1630
  /** The Azure Batch service log files upload parameters for a Compute Node. */
@@ -1414,6 +1650,8 @@ export type DiskEncryptionTarget = string;
1414
1650
  export type BatchNodePlacementPolicyType = string;
1415
1651
  /** Alias for DiffDiskPlacement */
1416
1652
  export type DiffDiskPlacement = string;
1653
+ /** Alias for SecurityEncryptionTypes */
1654
+ export type SecurityEncryptionTypes = string;
1417
1655
  /** Alias for SecurityTypes */
1418
1656
  export type SecurityTypes = string;
1419
1657
  /** Alias for DynamicVNetAssignmentScope */
@@ -1426,6 +1664,8 @@ export type NetworkSecurityGroupRuleAccess = string;
1426
1664
  export type IpAddressProvisioningType = string;
1427
1665
  /** Alias for ContainerWorkingDirectory */
1428
1666
  export type ContainerWorkingDirectory = string;
1667
+ /** Alias for ContainerHostDataPath */
1668
+ export type ContainerHostDataPath = string;
1429
1669
  /** Alias for AutoUserScope */
1430
1670
  export type AutoUserScope = string;
1431
1671
  /** Alias for ElevationLevel */
@@ -1468,6 +1708,10 @@ export type DependencyAction = string;
1468
1708
  export type BatchTaskState = string;
1469
1709
  /** Alias for BatchNodeRebootOption */
1470
1710
  export type BatchNodeRebootOption = string;
1711
+ /** Alias for BatchNodeDeallocateOption */
1712
+ export type BatchNodeDeallocateOption = string;
1713
+ /** Alias for BatchNodeReimageOption */
1714
+ export type BatchNodeReimageOption = string;
1471
1715
  /** Alias for BatchNodeDisableSchedulingOption */
1472
1716
  export type BatchNodeDisableSchedulingOption = string;
1473
1717
  //# sourceMappingURL=models.d.ts.map