/* * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ import { BaseResource, CloudError } from "ms-rest-azure"; import * as moment from "moment"; export { BaseResource, CloudError }; /** * @summary Usage metrics for a Pool across an aggregation interval. */ export interface PoolUsageMetrics { /** * @summary The ID of the Pool whose metrics are aggregated in this entry. */ poolId: string; /** * @summary The start time of the aggregation interval covered by this entry. */ startTime: Date; /** * @summary The end time of the aggregation interval covered by this entry. */ endTime: Date; /** * @summary The size of virtual machines in the Pool. All VMs in a Pool are the same size. * @description 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). */ vmSize: string; /** * @summary The total core hours used in the Pool during this aggregation interval. */ totalCoreHours: number; } /** * @summary A reference to an Azure Virtual Machines Marketplace Image or a custom Azure Virtual * Machine Image. To get the list of all Azure Marketplace Image references verified by Azure * Batch, see the 'List supported Images' operation. */ export interface ImageReference { /** * @summary The publisher of the Azure Virtual Machines Marketplace Image. * @description For example, Canonical or MicrosoftWindowsServer. */ publisher?: string; /** * @summary The offer type of the Azure Virtual Machines Marketplace Image. * @description For example, UbuntuServer or WindowsServer. */ offer?: string; /** * @summary The SKU of the Azure Virtual Machines Marketplace Image. * @description For example, 18.04-LTS or 2019-Datacenter. */ sku?: string; /** * @summary The version of the Azure Virtual Machines Marketplace Image. * @description A value of 'latest' can be specified to select the latest version of an Image. If * omitted, the default is 'latest'. */ version?: string; /** * @summary The ARM resource identifier of the Shared Image 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}. * @description This property is mutually exclusive with other ImageReference properties. For * Virtual Machine Image it must be in the same region and subscription as the Azure Batch * account. The Shared Image Gallery Image must have replicas in the same region as the Azure * Batch account. 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. */ virtualMachineImageId?: string; } /** * @summary A reference to the Azure Virtual Machines Marketplace Image and additional information * about the Image. */ export interface ImageInformation { /** * @summary The ID of the Compute Node agent SKU which the Image supports. */ nodeAgentSKUId: string; /** * @summary The reference to the Azure Virtual Machine's Marketplace Image. */ imageReference: ImageReference; /** * @summary The type of operating system (e.g. Windows or Linux) of the Image. * @description Possible values include: 'linux', 'windows' */ osType: string; /** * @summary The capabilities or features which the Image supports. * @description 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. */ capabilities?: string[]; /** * @summary The time when the Azure Batch service will stop accepting create Pool requests for * the Image. */ batchSupportEndOfLife?: Date; /** * @summary Whether the Azure Batch service actively verifies that the Image is compatible with * the associated Compute Node agent SKU. * @description Possible values include: 'verified', 'unverified' */ verificationType: string; } /** * @summary The settings for an authentication token that the Task can use to perform Batch service * operations. */ export interface AuthenticationTokenSettings { /** * @summary The Batch resources to which the token grants access. * @description The authentication token grants access to a limited set of Batch service * operations. Currently the only supported value for the access property is 'job', which grants * access to all operations related to the Job which contains the Task. */ access?: string[]; } /** * @summary Statistics related to Pool usage information. */ export interface UsageStatistics { /** * @summary The start time of the time range covered by the statistics. */ startTime: Date; /** * @summary The time at which the statistics were last updated. All statistics are limited to the * range between startTime and lastUpdateTime. */ lastUpdateTime: Date; /** * @summary The aggregated wall-clock time of the dedicated Compute Node cores being part of the * Pool. */ dedicatedCoreTime: moment.Duration; } /** * @summary Statistics related to resource consumption by Compute Nodes in a Pool. */ export interface ResourceStatistics { /** * @summary The start time of the time range covered by the statistics. */ startTime: Date; /** * @summary The time at which the statistics were last updated. All statistics are limited to the * range between startTime and lastUpdateTime. */ lastUpdateTime: Date; /** * @summary The average CPU usage across all Compute Nodes in the Pool (percentage per node). */ avgCPUPercentage: number; /** * @summary The average memory usage in GiB across all Compute Nodes in the Pool. */ avgMemoryGiB: number; /** * @summary The peak memory usage in GiB across all Compute Nodes in the Pool. */ peakMemoryGiB: number; /** * @summary The average used disk space in GiB across all Compute Nodes in the Pool. */ avgDiskGiB: number; /** * @summary The peak used disk space in GiB across all Compute Nodes in the Pool. */ peakDiskGiB: number; /** * @summary The total number of disk read operations across all Compute Nodes in the Pool. */ diskReadIOps: number; /** * @summary The total number of disk write operations across all Compute Nodes in the Pool. */ diskWriteIOps: number; /** * @summary The total amount of data in GiB of disk reads across all Compute Nodes in the Pool. */ diskReadGiB: number; /** * @summary The total amount of data in GiB of disk writes across all Compute Nodes in the Pool. */ diskWriteGiB: number; /** * @summary The total amount of data in GiB of network reads across all Compute Nodes in the * Pool. */ networkReadGiB: number; /** * @summary The total amount of data in GiB of network writes across all Compute Nodes in the * Pool. */ networkWriteGiB: number; } /** * @summary Contains utilization and resource usage statistics for the lifetime of a Pool. */ export interface PoolStatistics { /** * @summary The URL for the statistics. */ url: string; /** * @summary The start time of the time range covered by the statistics. */ startTime: Date; /** * @summary The time at which the statistics were last updated. All statistics are limited to the * range between startTime and lastUpdateTime. */ lastUpdateTime: Date; /** * @summary Statistics related to Pool usage, such as the amount of core-time used. */ usageStats?: UsageStatistics; /** * @summary Statistics related to resource consumption by Compute Nodes in the Pool. */ resourceStats?: ResourceStatistics; } /** * @summary Resource usage statistics for a Job. */ export interface JobStatistics { /** * @summary The URL of the statistics. */ url: string; /** * @summary The start time of the time range covered by the statistics. */ startTime: Date; /** * @summary The time at which the statistics were last updated. All statistics are limited to the * range between startTime and lastUpdateTime. */ lastUpdateTime: Date; /** * @summary The total user mode CPU time (summed across all cores and all Compute Nodes) consumed * by all Tasks in the Job. */ userCPUTime: moment.Duration; /** * @summary The total kernel mode CPU time (summed across all cores and all Compute Nodes) * consumed by all Tasks in the Job. */ kernelCPUTime: moment.Duration; /** * @summary The total wall clock time of all Tasks in the Job. * @description The wall clock time is the elapsed time from when the Task started running on a * Compute Node to when it finished (or to the last time the statistics were updated, if the Task * had not finished by then). If a Task was retried, this includes the wall clock time of all the * Task retries. */ wallClockTime: moment.Duration; /** * @summary The total number of disk read operations made by all Tasks in the Job. */ readIOps: number; /** * @summary The total number of disk write operations made by all Tasks in the Job. */ writeIOps: number; /** * @summary The total amount of data in GiB read from disk by all Tasks in the Job. */ readIOGiB: number; /** * @summary The total amount of data in GiB written to disk by all Tasks in the Job. */ writeIOGiB: number; /** * @summary The total number of Tasks successfully completed in the Job during the given time * range. * @description A Task completes successfully if it returns exit code 0. */ numSucceededTasks: number; /** * @summary The total number of Tasks in the Job that failed during the given time range. * @description A Task fails if it exhausts its maximum retry count without returning exit code * 0. */ numFailedTasks: number; /** * @summary The total number of retries on all the Tasks in the Job during the given time range. */ numTaskRetries: number; /** * @summary The total wait time of all Tasks in the Job. * @description The wait time for a Task is defined as the elapsed time between the creation of * the Task and the start of Task execution. (If the Task is retried due to failures, the wait * time is the time to the most recent Task execution.) This value is only reported in the * Account lifetime statistics; it is not included in the Job statistics. */ waitTime: moment.Duration; } /** * @summary Represents a name-value pair. */ export interface NameValuePair { /** * @summary The name in the name-value pair. */ name?: string; /** * @summary The value in the name-value pair. */ value?: string; } /** * @summary An error encountered by the Batch service when deleting a Certificate. */ export interface DeleteCertificateError { /** * @summary An identifier for the Certificate deletion error. Codes are invariant and are * intended to be consumed programmatically. */ code?: string; /** * @summary A message describing the Certificate deletion error, intended to be suitable for * display in a user interface. */ message?: string; /** * @summary A list of additional error details related to the Certificate deletion error. * @description This list includes details such as the active Pools and Compute Nodes referencing * this Certificate. However, if a large number of resources reference the Certificate, the list * contains only about the first hundred. */ values?: NameValuePair[]; } /** * A Certificate that can be installed on Compute Nodes and can be used to authenticate operations * on the machine. */ export interface Certificate { /** * @summary The X.509 thumbprint of the Certificate. This is a sequence of up to 40 hex digits. */ thumbprint?: string; /** * @summary The algorithm used to derive the thumbprint. */ thumbprintAlgorithm?: string; /** * @summary The URL of the Certificate. */ url?: string; /** * @summary The current state of the Certificate. * @description Possible values include: 'active', 'deleting', 'deleteFailed' */ state?: string; /** * @summary The time at which the Certificate entered its current state. */ stateTransitionTime?: Date; /** * @summary The previous state of the Certificate. * @description This property is not set if the Certificate is in its initial active state. * Possible values include: 'active', 'deleting', 'deleteFailed' */ previousState?: string; /** * @summary The time at which the Certificate entered its previous state. * @description This property is not set if the Certificate is in its initial Active state. */ previousStateTransitionTime?: Date; /** * @summary The public part of the Certificate as a base-64 encoded .cer file. */ publicData?: string; /** * @summary The error that occurred on the last attempt to delete this Certificate. * @description This property is set only if the Certificate is in the DeleteFailed state. */ deleteCertificateError?: DeleteCertificateError; } /** * @summary A reference to an Package to be deployed to Compute Nodes. */ export interface ApplicationPackageReference { /** * @summary The ID of the application to deploy. */ applicationId: string; /** * @summary The version of the application to deploy. If omitted, the default version is * deployed. * @description If this is omitted on a Pool, and no default version is specified for this * application, the request fails with the error code InvalidApplicationPackageReferences and * HTTP status code 409. If this is omitted on a Task, and no default version is specified for * this application, the Task fails with a pre-processing error. */ version?: string; } /** * @summary Contains information about an application in an Azure Batch Account. */ export interface ApplicationSummary { /** * @summary A string that uniquely identifies the application within the Account. */ id: string; /** * @summary The display name for the application. */ displayName: string; /** * @summary The list of available versions of the application. */ versions: string[]; } /** * @summary A Certificate that can be installed on Compute Nodes and can be used to authenticate * operations on the machine. */ export interface CertificateAddParameter { /** * @summary The X.509 thumbprint of the Certificate. This is a sequence of up to 40 hex digits * (it may include spaces but these are removed). */ thumbprint: string; /** * @summary The algorithm used to derive the thumbprint. This must be sha1. */ thumbprintAlgorithm: string; /** * @summary The base64-encoded contents of the Certificate. The maximum size is 10KB. */ data: string; /** * @summary The format of the Certificate data. * @description Possible values include: 'pfx', 'cer' */ certificateFormat?: string; /** * @summary The password to access the Certificate's private key. * @description This must be omitted if the Certificate format is cer. */ password?: string; } /** * @summary The properties of a file on a Compute Node. */ export interface FileProperties { /** * @summary The file creation time. * @description The creation time is not returned for files on Linux Compute Nodes. */ creationTime?: Date; /** * @summary The time at which the file was last modified. */ lastModified: Date; /** * @summary The length of the file. */ contentLength: number; /** * @summary The content type of the file. */ contentType?: string; /** * @summary The file mode attribute in octal format. * @description The file mode is returned only for files on Linux Compute Nodes. */ fileMode?: string; } /** * @summary Information about a file or directory on a Compute Node. */ export interface NodeFile { /** * @summary The file path. */ name?: string; /** * @summary The URL of the file. */ url?: string; /** * @summary Whether the object represents a directory. */ isDirectory?: boolean; /** * @summary The file properties. */ properties?: FileProperties; } /** * @summary The schedule according to which Jobs will be created */ export interface Schedule { /** * @summary The earliest time at which any Job may be created under this Job Schedule. * @description If you do not specify a doNotRunUntil time, the schedule becomes ready to create * Jobs immediately. */ doNotRunUntil?: Date; /** * @summary A time after which no Job will be created under this Job Schedule. The schedule will * move to the completed state as soon as this deadline is past and there is no active Job under * this Job Schedule. * @description If you do not specify a doNotRunAfter time, and you are creating a recurring Job * Schedule, the Job Schedule will remain active until you explicitly terminate it. */ doNotRunAfter?: Date; /** * @summary The time interval, starting from the time at which the schedule indicates a Job * should be created, within which a Job must be created. * @description If a Job is not created within the startWindow interval, then the 'opportunity' * is lost; no Job will be created until the next recurrence of the schedule. If the schedule is * recurring, and the startWindow is longer than the recurrence interval, then this is equivalent * to an infinite startWindow, because the Job that is 'due' in one recurrenceInterval is not * carried forward into the next recurrence interval. The default is infinite. The minimum value * is 1 minute. If you specify a lower value, the Batch service rejects the schedule with an * error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). */ startWindow?: moment.Duration; /** * @summary The time interval between the start times of two successive Jobs under the Job * Schedule. A Job Schedule can have at most one active Job under it at any given time. * @description Because a Job Schedule can have at most one active Job under it at any given * time, if it is time to create a new Job under a Job Schedule, but the previous Job is still * running, the Batch service will not create the new Job until the previous Job finishes. If the * previous Job does not finish within the startWindow period of the new recurrenceInterval, then * no new Job will be scheduled for that interval. For recurring Jobs, you should normally * specify a jobManagerTask in the jobSpecification. If you do not use jobManagerTask, you will * need an external process to monitor when Jobs are created, add Tasks to the Jobs and terminate * the Jobs ready for the next recurrence. The default is that the schedule does not recur: one * Job is created, within the startWindow after the doNotRunUntil time, and the schedule is * complete as soon as that Job finishes. The minimum value is 1 minute. If you specify a lower * value, the Batch service rejects the schedule with an error; if you are calling the REST API * directly, the HTTP status code is 400 (Bad Request). */ recurrenceInterval?: moment.Duration; } /** * @summary The execution constraints for a Job. */ export interface JobConstraints { /** * @summary The maximum elapsed time that the Job may run, measured from the time the Job is * created. * @description If the Job does not complete within the time limit, the Batch service terminates * it and any Tasks that are still running. In this case, the termination reason will be * MaxWallClockTimeExpiry. If this property is not specified, there is no time limit on how long * the Job may run. */ maxWallClockTime?: moment.Duration; /** * @summary The maximum number of times each Task may be retried. The Batch service retries a * Task if its exit code is nonzero. * @description Note that this value specifically controls the number of retries. The Batch * service will try each Task once, and may then retry up to this limit. For example, if the * maximum retry count is 3, Batch tries a Task up to 4 times (one initial try and 3 retries). If * the maximum retry count is 0, the Batch service does not retry Tasks. If the maximum retry * count is -1, the Batch service retries Tasks without limit. The default value is 0 (no * retries). */ maxTaskRetryCount?: number; } /** * @summary The network configuration for the Job. */ export interface JobNetworkConfiguration { /** * @summary 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. * @description 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 */ subnetId: string; } /** * @summary A private container registry. */ export interface ContainerRegistry { /** * @summary The registry URL. * @description If omitted, the default is "docker.io". */ registryServer?: string; /** * @summary The user name to log into the registry server. */ userName: string; /** * @summary The password to log into the registry server. */ password: string; } /** * @summary The container settings for a Task. */ export interface TaskContainerSettings { /** * @summary Additional options to the container create command. * @description These additional options are supplied as arguments to the "docker create" * command, in addition to those controlled by the Batch Service. */ containerRunOptions?: string; /** * @summary The Image to use to create the container in which the Task will run. * @description This is the full Image reference, as would be specified to "docker pull". If no * tag is provided as part of the Image name, the tag ":latest" is used as a default. */ imageName: string; /** * @summary The private registry which contains the container Image. * @description This setting can be omitted if was already provided at Pool creation. */ registry?: ContainerRegistry; /** * @summary The location of the container Task working directory. * @description The default is 'taskWorkingDirectory'. Possible values include: * 'taskWorkingDirectory', 'containerImageDefault' */ workingDirectory?: string; } /** * @summary A single file or multiple files to be downloaded to a Compute Node. */ export interface ResourceFile { /** * @summary The storage container name in the auto storage Account. * @description The autoStorageContainerName, storageContainerUrl and httpUrl properties are * mutually exclusive and one of them must be specified. */ autoStorageContainerName?: string; /** * @summary The URL of the blob container within Azure Blob Storage. * @description The autoStorageContainerName, storageContainerUrl and httpUrl properties are * mutually exclusive and one of them must be specified. This URL must be readable and listable * using anonymous access; that is, the Batch service does not present any credentials when * downloading blobs from the container. There are two ways to get such a URL for a container in * Azure storage: include a Shared Access Signature (SAS) granting read and list permissions on * the container, or set the ACL for the container to allow public access. */ storageContainerUrl?: string; /** * @summary The URL of the file to download. * @description The autoStorageContainerName, storageContainerUrl and httpUrl properties are * mutually exclusive and one of them must be specified. If the URL points to Azure Blob Storage, * it must be readable using anonymous access; that is, the Batch service does not present any * credentials when downloading the blob. There are two ways to get such a URL for a blob in * Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, * or set the ACL for the blob or its container to allow public access. */ httpUrl?: string; /** * @summary The blob prefix to use when downloading blobs from an Azure Storage container. Only * the blobs whose names begin with the specified prefix will be downloaded. * @description The property is valid only when autoStorageContainerName or storageContainerUrl * is used. This prefix can be a partial filename or a subdirectory. If a prefix is not * specified, all the files in the container will be downloaded. */ blobPrefix?: string; /** * @summary The location on the Compute Node to which to download the file(s), relative to the * Task's working directory. * @description If the httpUrl property is specified, the filePath is required and describes the * path which the file will be downloaded to, including the filename. Otherwise, if the * autoStorageContainerName or storageContainerUrl property is specified, filePath is optional * and is the directory to download the files to. In the case where filePath is used as a * directory, any directory structure already associated with the input data will be retained in * full and appended to the specified filePath directory. The specified relative path cannot * break out of the Task's working directory (for example by using '..'). */ filePath?: string; /** * @summary The file permission mode attribute in octal format. * @description This property applies only to files being downloaded to Linux Compute Nodes. It * will be ignored if it is specified for a resourceFile which will be downloaded to a Windows * Compute Node. If this property is not specified for a Linux Compute Node, then a default value * of 0770 is applied to the file. */ fileMode?: string; } /** * @summary An environment variable to be set on a Task process. */ export interface EnvironmentSetting { /** * @summary The name of the environment variable. */ name: string; /** * @summary The value of the environment variable. */ value?: string; } /** * @summary Specifies how the Batch service responds to a particular exit condition. */ export interface ExitOptions { /** * @summary 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'. * @description 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). Possible values include: 'none', * 'disable', 'terminate' */ jobAction?: string; /** * @summary An action that the Batch service performs on Tasks that depend on this Task. * @description 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. Possible values include: 'satisfy', 'block' */ dependencyAction?: string; } /** * @summary How the Batch service should respond if a Task exits with a particular exit code. */ export interface ExitCodeMapping { /** * @summary A process exit code. */ code: number; /** * @summary How the Batch service should respond if the Task exits with this exit code. */ exitOptions: ExitOptions; } /** * @summary A range of exit codes and how the Batch service should respond to exit codes within * that range. */ export interface ExitCodeRangeMapping { /** * @summary The first exit code in the range. */ start: number; /** * @summary The last exit code in the range. */ end: number; /** * @summary How the Batch service should respond if the Task exits with an exit code in the range * start to end (inclusive). */ exitOptions: ExitOptions; } /** * @summary Specifies how the Batch service should respond when the Task completes. */ export interface ExitConditions { /** * @summary A list of individual Task exit codes and how the Batch service should respond to * them. */ exitCodes?: ExitCodeMapping[]; /** * @summary A list of Task exit code ranges and how the Batch service should respond to them. */ exitCodeRanges?: ExitCodeRangeMapping[]; /** * @summary How the Batch service should respond if the Task fails to start due to an error. */ preProcessingError?: ExitOptions; /** * @summary How the Batch service should respond if a file upload error occurs. * @description If the Task exited with an exit code that was specified via exitCodes or * exitCodeRanges, and then encountered a file upload error, then the action specified by the * exit code takes precedence. */ fileUploadError?: ExitOptions; /** * @summary How the Batch service should respond if the Task fails with an exit condition not * covered by any of the other properties. * @description This value is used if the Task exits with any nonzero exit code not listed in the * exitCodes or exitCodeRanges collection, with a pre-processing error if the preProcessingError * property is not present, or with a file upload error if the fileUploadError property is not * present. If you want non-default behavior on exit code 0, you must list it explicitly using * the exitCodes or exitCodeRanges collection. */ default?: ExitOptions; } /** * @summary Specifies the parameters for the auto user that runs a Task on the Batch service. */ export interface AutoUserSpecification { /** * @summary The scope for the auto user * @description The default value is pool. If the pool is running Windows a value of Task should * be specified if stricter isolation between tasks is required. For example, if the task mutates * the registry in a way which could impact other tasks, or if certificates have been specified * on the pool which should not be accessible by normal tasks but should be accessible by * StartTasks. Possible values include: 'task', 'pool' */ scope?: string; /** * @summary The elevation level of the auto user. * @description The default value is nonAdmin. Possible values include: 'nonAdmin', 'admin' */ elevationLevel?: string; } /** * @summary The definition of the user identity under which the Task is run. * @description Specify either the userName or autoUser property, but not both. */ export interface UserIdentity { /** * @summary The name of the user identity under which the Task is run. * @description The userName and autoUser properties are mutually exclusive; you must specify one * but not both. */ userName?: string; /** * @summary The auto user under which the Task is run. * @description The userName and autoUser properties are mutually exclusive; you must specify one * but not both. */ autoUser?: AutoUserSpecification; } /** * @summary Properties used to create a user Account on a Linux Compute Node. */ export interface LinuxUserConfiguration { /** * @summary The user ID of the user Account. * @description The uid and gid properties must be specified together or not at all. If not * specified the underlying operating system picks the uid. */ uid?: number; /** * @summary The group ID for the user Account. * @description The uid and gid properties must be specified together or not at all. If not * specified the underlying operating system picks the gid. */ gid?: number; /** * @summary The SSH private key for the user Account. * @description The private key must not be password protected. The private key is used to * automatically configure asymmetric-key based authentication for SSH between Compute Nodes in a * Linux Pool when the Pool's enableInterNodeCommunication property is true (it is ignored if * enableInterNodeCommunication is false). It does this by placing the key pair into the user's * .ssh directory. If not specified, password-less SSH is not configured between Compute Nodes * (no modification of the user's .ssh directory is done). */ sshPrivateKey?: string; } /** * @summary Properties used to create a user Account on a Windows Compute Node. */ export interface WindowsUserConfiguration { /** * @summary The login mode for the user * @description The default value for VirtualMachineConfiguration Pools is 'batch' and for * CloudServiceConfiguration Pools is 'interactive'. Possible values include: 'batch', * 'interactive' */ loginMode?: string; } /** * @summary Properties used to create a user used to execute Tasks on an Azure Batch Compute Node. */ export interface UserAccount { /** * @summary The name of the user Account. */ name: string; /** * @summary The password for the user Account. */ password: string; /** * @summary The elevation level of the user Account. * @description The default value is nonAdmin. Possible values include: 'nonAdmin', 'admin' */ elevationLevel?: string; /** * @summary The Linux-specific user configuration for the user Account. * @description This property is ignored if specified on a Windows Pool. If not specified, the * user is created with the default options. */ linuxUserConfiguration?: LinuxUserConfiguration; /** * @summary The Windows-specific user configuration for the user Account. * @description This property can only be specified if the user is on a Windows Pool. If not * specified and on a Windows Pool, the user is created with the default options. */ windowsUserConfiguration?: WindowsUserConfiguration; } /** * @summary Execution constraints to apply to a Task. */ export interface TaskConstraints { /** * @summary The maximum elapsed time that the Task may run, measured from the time the Task * starts. If the Task does not complete within the time limit, the Batch service terminates it. * @description If this is not specified, there is no time limit on how long the Task may run. */ maxWallClockTime?: moment.Duration; /** * @summary The minimum time to retain the Task directory on the Compute Node where it ran, from * the time it completes execution. After this time, the Batch service may delete the Task * directory and all its contents. * @description The default is 7 days, i.e. the Task directory will be retained for 7 days unless * the Compute Node is removed or the Job is deleted. */ retentionTime?: moment.Duration; /** * @summary The maximum number of times the Task may be retried. The Batch service retries a Task * if its exit code is nonzero. * @description Note that this value specifically controls the number of retries for the Task * executable due to a nonzero exit code. The Batch service will try the Task once, and may then * retry up to this limit. For example, if the maximum retry count is 3, Batch tries the Task up * to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service * does not retry the Task after the first attempt. If the maximum retry count is -1, the Batch * service retries the Task without limit. */ maxTaskRetryCount?: number; } /** * @summary Specifies a file upload destination within an Azure blob storage container. */ export interface OutputFileBlobContainerDestination { /** * @summary The destination blob or virtual directory within the Azure Storage container. * @description If filePattern refers to a specific file (i.e. contains no wildcards), then path * is the name of the blob to which to upload that file. If filePattern contains one or more * wildcards (and therefore may match multiple files), then path is the name of the blob virtual * directory (which is prepended to each blob name) to which to upload the file(s). If omitted, * file(s) are uploaded to the root of the container with a blob name matching their file name. */ path?: string; /** * @summary The URL of the container within Azure Blob Storage to which to upload the file(s). * @description The URL must include a Shared Access Signature (SAS) granting write permissions * to the container. */ containerUrl: string; } /** * @summary The destination to which a file should be uploaded. */ export interface OutputFileDestination { /** * @summary A location in Azure blob storage to which files are uploaded. */ container?: OutputFileBlobContainerDestination; } /** * @summary Details about an output file upload operation, including under what conditions to * perform the upload. */ export interface OutputFileUploadOptions { /** * @summary The conditions under which the Task output file or set of files should be uploaded. * @description The default is taskcompletion. Possible values include: 'taskSuccess', * 'taskFailure', 'taskCompletion' */ uploadCondition: string; } /** * @summary A specification for uploading files from an Azure Batch Compute Node to another * location after the Batch service has finished executing the Task process. */ export interface OutputFile { /** * @summary A pattern indicating which file(s) to upload. * @description Both relative and absolute paths are supported. Relative paths are relative to * the Task working directory. The following wildcards are supported: * matches 0 or more * characters (for example pattern abc* would match abc or abcdef), ** matches any directory, ? * matches any single character, [abc] matches one character in the brackets, and [a-c] matches * one character in the range. Brackets can include a negation to match any character not * specified (for example [!abc] matches any character but a, b, or c). If a file name starts * with "." it is ignored by default but may be matched by specifying it explicitly (for example * *.gif will not match .a.gif, but .*.gif will). A simple example: **\*.txt matches any file * that does not start in '.' and ends with .txt in the Task working directory or any * subdirectory. If the filename contains a wildcard character it can be escaped using brackets * (for example abc[*] would match a file named abc*). Note that both \ and / are treated as * directory separators on Windows, but only / is on Linux. Environment variables (%var% on * Windows or $var on Linux) are expanded prior to the pattern being applied. */ filePattern: string; /** * @summary The destination for the output file(s). */ destination: OutputFileDestination; /** * @summary Additional options for the upload operation, including under what conditions to * perform the upload. */ uploadOptions: OutputFileUploadOptions; } /** * @summary Specifies details of a Job Manager Task. * @description The Job Manager Task is automatically started when the Job is created. The Batch * service tries to schedule the Job Manager Task before any other Tasks in the Job. When shrinking * a Pool, the Batch service tries to preserve Nodes where Job Manager Tasks are running for as * long as possible (that is, Compute Nodes running 'normal' Tasks are removed before Compute Nodes * running Job Manager Tasks). When a Job Manager Task fails and needs to be restarted, the system * tries to schedule it at the highest priority. If there are no idle Compute Nodes available, the * system may terminate one of the running Tasks in the Pool and return it to the queue in order to * make room for the Job Manager Task to restart. Note that a Job Manager Task in one Job does not * have priority over Tasks in other Jobs. Across Jobs, only Job level priorities are observed. For * example, if a Job Manager in a priority 0 Job needs to be restarted, it will not displace Tasks * of a priority 1 Job. Batch will retry Tasks when a recovery operation is triggered on a Node. * Examples of recovery operations include (but are not limited to) when an unhealthy Node is * rebooted or a Compute Node disappeared due to host failure. Retries due to recovery operations * are independent of and are not counted against the maxTaskRetryCount. Even if the * maxTaskRetryCount is 0, an internal retry due to a recovery operation may occur. Because of * this, all Tasks should be idempotent. This means Tasks need to tolerate being interrupted and * restarted without causing any corruption or duplicate data. The best practice for long running * Tasks is to use some form of checkpointing. */ export interface JobManagerTask { /** * @summary A string that uniquely identifies the Job Manager Task within the Job. * @description The ID can contain any combination of alphanumeric characters including hyphens * and underscores and cannot contain more than 64 characters. */ id: string; /** * @summary The display name of the Job Manager Task. * @description It need not be unique and can contain any Unicode characters up to a maximum * length of 1024. */ displayName?: string; /** * @summary The command line of the Job Manager Task. * @description 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). */ commandLine: string; /** * @summary The settings for the container under which the Job Manager Task runs. * @description 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. */ containerSettings?: TaskContainerSettings; /** * @summary A list of files that the Batch service will download to the Compute Node before * running the command line. * @description Files listed under this element are located in the Task's working directory. * There is a maximum size for the list of resource files. When the max size is exceeded, the * request will fail and the response error code will be RequestEntityTooLarge. If this occurs, * the collection of ResourceFiles must be reduced in size. This can be achieved using .zip * files, Application Packages, or Docker Containers. */ resourceFiles?: ResourceFile[]; /** * @summary A list of files that the Batch service will upload from the Compute Node after * running the command line. * @description For multi-instance Tasks, the files will only be uploaded from the Compute Node * on which the primary Task is executed. */ outputFiles?: OutputFile[]; /** * @summary A list of environment variable settings for the Job Manager Task. */ environmentSettings?: EnvironmentSetting[]; /** * @summary Constraints that apply to the Job Manager Task. */ constraints?: TaskConstraints; /** * @summary Whether completion of the Job Manager Task signifies completion of the entire Job. * @description If true, when the Job Manager Task completes, the Batch service marks the Job as * complete. If any Tasks are still running at this time (other than Job Release), those Tasks * are terminated. If false, the completion of the Job Manager Task does not affect the Job * status. In this case, you should either use the onAllTasksComplete attribute to terminate the * Job, or have a client or user terminate the Job explicitly. An example of this is if the Job * Manager creates a set of Tasks but then takes no further role in their execution. The default * value is true. If you are using the onAllTasksComplete and onTaskFailure attributes to control * Job lifetime, and using the Job Manager Task only to create the Tasks for the Job (not to * monitor progress), then it is important to set killJobOnCompletion to false. */ killJobOnCompletion?: boolean; /** * @summary The user identity under which the Job Manager Task runs. * @description If omitted, the Task runs as a non-administrative user unique to the Task. */ userIdentity?: UserIdentity; /** * @summary Whether the Job Manager Task requires exclusive use of the Compute Node where it * runs. * @description If true, no other Tasks will run on the same Node for as long as the Job Manager * is running. If false, other Tasks can run simultaneously with the Job Manager on a Compute * Node. The Job Manager Task counts normally against the Compute Node's concurrent Task limit, * so this is only relevant if the Compute Node allows multiple concurrent Tasks. The default * value is true. */ runExclusive?: boolean; /** * @summary A list of Application Packages that the Batch service will deploy to the Compute Node * before running the command line. * @description Application Packages are downloaded and deployed to a shared directory, not the * Task working directory. Therefore, if a referenced Application Package is already on the * Compute Node, and is up to date, then it is not re-downloaded; the existing copy on the * Compute Node is used. If a referenced Application Package cannot be installed, for example * because the package has been deleted or because download failed, the Task fails. */ applicationPackageReferences?: ApplicationPackageReference[]; /** * @summary The settings for an authentication token that the Task can use to perform Batch * service operations. * @description If this property is set, the Batch service provides the Task with an * authentication token which can be used to authenticate Batch service operations without * requiring an Account access key. The token is provided via the AZ_BATCH_AUTHENTICATION_TOKEN * environment variable. The operations that the Task can carry out using the token depend on the * settings. For example, a Task can request Job permissions in order to add other Tasks to the * Job, or check the status of the Job or of other Tasks under the Job. */ authenticationTokenSettings?: AuthenticationTokenSettings; /** * @summary Whether the Job Manager Task may run on a low-priority Compute Node. * @description The default value is true. */ allowLowPriorityNode?: boolean; } /** * @summary A Job Preparation Task to run before any Tasks of the Job on any given Compute Node. * @description You can use Job Preparation to prepare a Node to run Tasks for the Job. Activities * commonly performed in Job Preparation include: Downloading common resource files used by all the * Tasks in the Job. The Job Preparation Task can download these common resource files to the * shared location on the Node. (AZ_BATCH_NODE_ROOT_DIR\shared), or starting a local service on the * Node so that all Tasks of that Job can communicate with it. If the Job Preparation Task fails * (that is, exhausts its retry count before exiting with exit code 0), Batch will not run Tasks of * this Job on the Node. The Compute Node remains ineligible to run Tasks of this Job until it is * reimaged. The Compute Node remains active and can be used for other Jobs. The Job Preparation * Task can run multiple times on the same Node. Therefore, you should write the Job Preparation * Task to handle re-execution. If the Node is rebooted, the Job Preparation Task is run again on * the Compute Node before scheduling any other Task of the Job, if rerunOnNodeRebootAfterSuccess * is true or if the Job Preparation Task did not previously complete. If the Node is reimaged, the * Job Preparation Task is run again before scheduling any Task of the Job. Batch will retry Tasks * when a recovery operation is triggered on a Node. Examples of recovery operations include (but * are not limited to) when an unhealthy Node is rebooted or a Compute Node disappeared due to host * failure. Retries due to recovery operations are independent of and are not counted against the * maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal retry due to a recovery * operation may occur. Because of this, all Tasks should be idempotent. This means Tasks need to * tolerate being interrupted and restarted without causing any corruption or duplicate data. The * best practice for long running Tasks is to use some form of checkpointing. */ export interface JobPreparationTask { /** * @summary A string that uniquely identifies the Job Preparation Task within the Job. * @description 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). */ id?: string; /** * @summary The command line of the Job Preparation Task. * @description 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). */ commandLine: string; /** * @summary The settings for the container under which the Job Preparation Task runs. * @description 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. */ containerSettings?: TaskContainerSettings; /** * @summary A list of files that the Batch service will download to the Compute Node before * running the command line. * @description Files listed under this element are located in the Task's working directory. * There is a maximum size for the list of resource files. When the max size is exceeded, the * request will fail and the response error code will be RequestEntityTooLarge. If this occurs, * the collection of ResourceFiles must be reduced in size. This can be achieved using .zip * files, Application Packages, or Docker Containers. */ resourceFiles?: ResourceFile[]; /** * @summary A list of environment variable settings for the Job Preparation Task. */ environmentSettings?: EnvironmentSetting[]; /** * @summary Constraints that apply to the Job Preparation Task. */ constraints?: TaskConstraints; /** * @summary Whether the Batch service should wait for the Job Preparation Task to complete * successfully before scheduling any other Tasks of the Job on the Compute Node. A Job * Preparation Task has completed successfully if it exits with exit code 0. * @description If true and the Job Preparation Task fails on a Node, the Batch service retries * the Job Preparation Task up to its maximum retry count (as specified in the constraints * element). If the Task has still not completed successfully after all retries, then the Batch * service will not schedule Tasks of the Job to the Node. The Node remains active and eligible * to run Tasks of other Jobs. If false, the Batch service will not wait for the Job Preparation * Task to complete. In this case, other Tasks of the Job can start executing on the Compute Node * while the Job Preparation Task is still running; and even if the Job Preparation Task fails, * new Tasks will continue to be scheduled on the Compute Node. The default value is true. */ waitForSuccess?: boolean; /** * @summary The user identity under which the Job Preparation Task runs. * @description If omitted, the Task runs as a non-administrative user unique to the Task on * Windows Compute Nodes, or a non-administrative user unique to the Pool on Linux Compute Nodes. */ userIdentity?: UserIdentity; /** * @summary Whether the Batch service should rerun the Job Preparation Task after a Compute Node * reboots. * @description The Job Preparation Task is always rerun if a Compute Node is reimaged, or if the * Job Preparation Task did not complete (e.g. because the reboot occurred while the Task was * running). Therefore, you should always write a Job Preparation Task to be idempotent and to * behave correctly if run multiple times. The default value is true. */ rerunOnNodeRebootAfterSuccess?: boolean; } /** * @summary A Job Release Task to run on Job completion on any Compute Node where the Job has run. * @description The Job Release Task runs when the Job ends, because of one of the following: The * user calls the Terminate Job API, or the Delete Job API while the Job is still active, the Job's * maximum wall clock time constraint is reached, and the Job is still active, or the Job's Job * Manager Task completed, and the Job is configured to terminate when the Job Manager completes. * The Job Release Task runs on each Node where Tasks of the Job have run and the Job Preparation * Task ran and completed. If you reimage a Node after it has run the Job Preparation Task, and the * Job ends without any further Tasks of the Job running on that Node (and hence the Job * Preparation Task does not re-run), then the Job Release Task does not run on that Compute Node. * If a Node reboots while the Job Release Task is still running, the Job Release Task runs again * when the Compute Node starts up. The Job is not marked as complete until all Job Release Tasks * have completed. The Job Release Task runs in the background. It does not occupy a scheduling * slot; that is, it does not count towards the maxTasksPerNode limit specified on the Pool. */ export interface JobReleaseTask { /** * @summary A string that uniquely identifies the Job Release Task within the Job. * @description 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). */ id?: string; /** * @summary The command line of the Job Release Task. * @description 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). */ commandLine: string; /** * @summary The settings for the container under which the Job Release Task runs. * @description 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. */ containerSettings?: TaskContainerSettings; /** * @summary A list of files that the Batch service will download to the Compute Node before * running the command line. There is a maximum size for the list of resource files. When the * max size is exceeded, the request will fail and the response error code will be * RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in * size. This can be achieved using .zip files, Application Packages, or Docker Containers. * @description Files listed under this element are located in the Task's working directory. */ resourceFiles?: ResourceFile[]; /** * @summary A list of environment variable settings for the Job Release Task. */ environmentSettings?: EnvironmentSetting[]; /** * @summary The maximum elapsed time that the Job Release Task may run on a given Compute Node, * measured from the time the Task starts. If the Task does not complete within the time limit, * the Batch service terminates it. The default value is 15 minutes. You may not specify a * timeout longer than 15 minutes. If you do, the Batch service rejects it with an error; if you * are calling the REST API directly, the HTTP status code is 400 (Bad Request). */ maxWallClockTime?: moment.Duration; /** * @summary The minimum time to retain the Task directory for the Job Release Task on the Compute * Node. After this time, the Batch service may delete the Task directory and all its contents. * @description The default is 7 days, i.e. the Task directory will be retained for 7 days unless * the Compute Node is removed or the Job is deleted. */ retentionTime?: moment.Duration; /** * @summary The user identity under which the Job Release Task runs. * @description If omitted, the Task runs as a non-administrative user unique to the Task. */ userIdentity?: UserIdentity; } /** * @summary Specifies how Tasks should be distributed across Compute Nodes. */ export interface TaskSchedulingPolicy { /** * @summary How Tasks are distributed across Compute Nodes in a Pool. * @description If not specified, the default is spread. Possible values include: 'spread', * 'pack' */ nodeFillType: string; } /** * @summary A Task which is run when a Node joins a Pool in the Azure Batch service, or when the * Compute Node is rebooted or reimaged. * @description Batch will retry Tasks when a recovery operation is triggered on a Node. Examples * of recovery operations include (but are not limited to) when an unhealthy Node is rebooted or a * Compute Node disappeared due to host failure. Retries due to recovery operations are independent * of and are not counted against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an * internal retry due to a recovery operation may occur. Because of this, all Tasks should be * idempotent. This means Tasks need to tolerate being interrupted and restarted without causing * any corruption or duplicate data. The best practice for long running Tasks is to use some form * of checkpointing. In some cases the StartTask may be re-run even though the Compute Node was not * rebooted. Special care should be taken to avoid StartTasks which create breakaway process or * install/launch services from the StartTask working directory, as this will block Batch from * being able to re-run the StartTask. */ export interface StartTask { /** * @summary The command line of the StartTask. * @description 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). */ commandLine: string; /** * @summary The settings for the container under which the StartTask runs. * @description 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. */ containerSettings?: TaskContainerSettings; /** * @summary A list of files that the Batch service will download to the Compute Node before * running the command line. There is a maximum size for the list of resource files. When the * max size is exceeded, the request will fail and the response error code will be * RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be reduced in * size. This can be achieved using .zip files, Application Packages, or Docker Containers. * @description Files listed under this element are located in the Task's working directory. */ resourceFiles?: ResourceFile[]; /** * @summary A list of environment variable settings for the StartTask. */ environmentSettings?: EnvironmentSetting[]; /** * @summary The user identity under which the StartTask runs. * @description If omitted, the Task runs as a non-administrative user unique to the Task. */ userIdentity?: UserIdentity; /** * @summary The maximum number of times the Task may be retried. * @description The Batch service retries a Task if its exit code is nonzero. Note that this * value specifically controls the number of retries. The Batch service will try the Task once, * and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries * the Task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the * Batch service does not retry the Task. If the maximum retry count is -1, the Batch service * retries the Task without limit. */ maxTaskRetryCount?: number; /** * @summary Whether the Batch service should wait for the StartTask to complete successfully * (that is, to exit with exit code 0) before scheduling any Tasks on the Compute Node. * @description If true and the StartTask fails on a Node, the Batch service retries the * StartTask up to its maximum retry count (maxTaskRetryCount). If the Task has still not * completed successfully after all retries, then the Batch service marks the Node unusable, and * will not schedule Tasks to it. This condition can be detected via the Compute Node state and * failure info details. If false, the Batch service will not wait for the StartTask to complete. * In this case, other Tasks can start executing on the Compute Node while the StartTask is still * running; and even if the StartTask fails, new Tasks will continue to be scheduled on the * Compute Node. The default is true. */ waitForSuccess?: boolean; } /** * @summary A reference to a Certificate to be installed on Compute Nodes in a Pool. */ export interface CertificateReference { /** * @summary The thumbprint of the Certificate. */ thumbprint: string; /** * @summary The algorithm with which the thumbprint is associated. This must be sha1. */ thumbprintAlgorithm: string; /** * @summary The location of the Certificate store on the Compute Node into which to install the * Certificate. * @description The default value is currentuser. This property is applicable only for Pools * configured with Windows Compute Nodes (that is, created with cloudServiceConfiguration, or * with virtualMachineConfiguration using a Windows Image reference). For Linux Compute Nodes, * the Certificates are stored in a directory inside the Task working directory and an * environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this * location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in * the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that * directory. Possible values include: 'currentUser', 'localMachine' */ storeLocation?: string; /** * @summary The name of the Certificate store on the Compute Node into which to install the * Certificate. * @description This property is applicable only for Pools configured with Windows Compute Nodes * (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a * Windows Image reference). Common store names include: My, Root, CA, Trust, Disallowed, * TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, but any custom store name can also be * used. The default value is My. */ storeName?: string; /** * @summary Which user Accounts on the Compute Node should have access to the private data of the * Certificate. * @description You can specify more than one visibility in this collection. The default is all * Accounts. */ visibility?: string[]; } /** * @summary A name-value pair associated with a Batch service resource. * @description The Batch service does not assign any meaning to this metadata; it is solely for * the use of user code. */ export interface MetadataItem { /** * @summary The name of the metadata item. */ name: string; /** * @summary The value of the metadata item. */ value: string; } /** * @summary The configuration for Compute Nodes in a Pool based on the Azure Cloud Services * platform. */ export interface CloudServiceConfiguration { /** * @summary The Azure Guest OS family to be installed on the virtual machines in the Pool. * @description Possible values are: * 2 - OS Family 2, equivalent to Windows Server 2008 R2 SP1. * 3 - OS Family 3, equivalent to Windows Server 2012. * 4 - OS Family 4, equivalent to Windows Server 2012 R2. * 5 - OS Family 5, equivalent to Windows Server 2016. * 6 - OS Family 6, equivalent to Windows Server 2019. For more information, see Azure Guest OS * Releases * (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases). */ osFamily: string; /** * @summary The Azure Guest OS version to be installed on the virtual machines in the Pool. * @description The default value is * which specifies the latest operating system version for * the specified OS family. */ osVersion?: string; } /** * @summary Windows operating system settings to apply to the virtual machine. */ export interface WindowsConfiguration { /** * @summary Whether automatic updates are enabled on the virtual machine. * @description If omitted, the default value is true. */ enableAutomaticUpdates?: boolean; } /** * @summary Settings which will be used by the data disks associated to Compute Nodes in the Pool. * When using attached data disks, you need to mount and format the disks from within a VM to use * them. */ export interface DataDisk { /** * @summary The logical unit number. * @description The lun is used to uniquely identify each data disk. If attaching multiple disks, * each should have a distinct lun. */ lun: number; /** * @summary The type of caching to be enabled for the data disks. * @description 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/. * Possible values include: 'none', 'readOnly', 'readWrite' */ caching?: string; /** * @summary The initial disk size in gigabytes. */ diskSizeGB: number; /** * @summary The storage Account type to be used for the data disk. * @description If omitted, the default is "standard_lrs". Possible values include: * 'StandardLRS', 'PremiumLRS' */ storageAccountType?: string; } /** * @summary The configuration for container-enabled Pools. */ export interface ContainerConfiguration { /** * @summary The collection of container Image names. * @description 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. */ containerImageNames?: string[]; /** * @summary Additional private registries from which containers can be pulled. * @description If any Images must be downloaded from a private registry which requires * credentials, then those credentials must be provided here. */ containerRegistries?: ContainerRegistry[]; } /** * The disk encryption configuration applied on compute nodes in the pool. Disk encryption * configuration is not supported on Linux pool created with Shared Image Gallery Image. */ export interface DiskEncryptionConfiguration { /** * @summary The list of disk targets Batch Service will encrypt on the compute node. * @description 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. */ targets?: string[]; } /** * @summary The configuration for Compute Nodes in a Pool based on the Azure Virtual Machines * infrastructure. */ export interface VirtualMachineConfiguration { /** * @summary A reference to the Azure Virtual Machines Marketplace Image or the custom Virtual * Machine Image to use. */ imageReference: ImageReference; /** * @summary The SKU of the Batch Compute Node agent to be provisioned on Compute Nodes in the * Pool. * @description The Batch Compute Node agent is a program that runs on each Compute Node in the * Pool, and provides the command-and-control interface between the Compute Node and the Batch * service. There are different implementations of the Compute Node agent, known as SKUs, for * different operating systems. You must specify a Compute Node agent SKU which matches the * selected Image reference. To get the list of supported Compute Node agent SKUs along with * their list of verified Image references, see the 'List supported Compute Node agent SKUs' * operation. */ nodeAgentSKUId: string; /** * @summary Windows operating system settings on the virtual machine. * @description This property must not be specified if the imageReference property specifies a * Linux OS Image. */ windowsConfiguration?: WindowsConfiguration; /** * @summary The configuration for data disks attached to the Compute Nodes in the Pool. * @description 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. */ dataDisks?: DataDisk[]; /** * @summary The type of on-premises license to be used when deploying the operating system. * @description This only applies to Images that contain the Windows operating system, and should * only be used when you hold valid on-premises licenses for the Compute Nodes which will be * deployed. If omitted, no on-premises licensing discount is applied. Values are: * * Windows_Server - The on-premises license is for Windows Server. * Windows_Client - The on-premises license is for Windows Client. */ licenseType?: string; /** * @summary The container configuration for the Pool. * @description If specified, setup is performed on each Compute Node in the Pool to allow Tasks * to run in containers. All regular Tasks and Job manager Tasks run on this Pool must specify * the containerSettings property, and all other Tasks may specify it. */ containerConfiguration?: ContainerConfiguration; /** * @summary The disk encryption configuration for the pool. * @description If specified, encryption is performed on each node in the pool during node * provisioning. */ diskEncryptionConfiguration?: DiskEncryptionConfiguration; } /** * @summary A network security group rule to apply to an inbound endpoint. */ export interface NetworkSecurityGroupRule { /** * @summary The priority for this rule. * @description 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. */ priority: number; /** * @summary The action that should be taken for a specified IP address, subnet range or tag. * @description Possible values include: 'allow', 'deny' */ access: string; /** * @summary The source address prefix or tag to match for the rule. * @description 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. */ sourceAddressPrefix: string; /** * @summary The source port ranges to match for the rule. * @description Valid values are '*' (for all ports 0 - 65535), a specific port (i.e. 22), or a * port range (i.e. 100-200). The ports must be in the range of 0 to 65535. Each entry in this * collection must not overlap any other entry (either a range or an individual port). If any * other values are provided the request fails with HTTP status code 400. The default value is * '*'. */ sourcePortRanges?: string[]; } /** * @summary A inbound NAT Pool that can be used to address specific ports on Compute Nodes in a * Batch Pool externally. */ export interface InboundNATPool { /** * @summary The name of the endpoint. * @description 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. */ name: string; /** * @summary The protocol of the endpoint. * @description Possible values include: 'tcp', 'udp' */ protocol: string; /** * @summary The port number on the Compute Node. * @description 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. */ backendPort: number; /** * @summary The first port number in the range of external ports that will be used to provide * inbound access to the backendPort on individual Compute Nodes. * @description Acceptable values range between 1 and 65534 except ports from 50000 to 55000 * which are reserved. All ranges within a Pool must be distinct and cannot overlap. Each range * must contain at least 40 ports. If any reserved or overlapping values are provided the request * fails with HTTP status code 400. */ frontendPortRangeStart: number; /** * @summary The last port number in the range of external ports that will be used to provide * inbound access to the backendPort on individual Compute Nodes. * @description Acceptable values range between 1 and 65534 except ports from 50000 to 55000 * which are reserved by the Batch service. All ranges within a Pool must be distinct and cannot * overlap. Each range must contain at least 40 ports. If any reserved or overlapping values are * provided the request fails with HTTP status code 400. */ frontendPortRangeEnd: number; /** * @summary A list of network security group rules that will be applied to the endpoint. * @description The maximum number of rules that can be specified across all the endpoints on a * Batch Pool is 25. If no network security group rules are specified, a default rule will be * created to allow inbound access to the specified backendPort. If the maximum number of network * security group rules is exceeded the request fails with HTTP status code 400. */ networkSecurityGroupRules?: NetworkSecurityGroupRule[]; } /** * @summary The endpoint configuration for a Pool. */ export interface PoolEndpointConfiguration { /** * @summary A list of inbound NAT Pools that can be used to address specific ports on an * individual Compute Node externally. * @description The maximum number of inbound NAT Pools per Batch Pool is 5. If the maximum * number of inbound NAT Pools is exceeded the request fails with HTTP status code 400. */ inboundNATPools: InboundNATPool[]; } /** * The public IP Address configuration of the networking configuration of a Pool. */ export interface PublicIPAddressConfiguration { /** * @summary The provisioning type for Public IP Addresses for the Pool. * @description The default value is BatchManaged. Possible values include: 'batchManaged', * 'userManaged', 'noPublicIPAddresses' */ provision?: string; /** * @summary The list of public IPs which the Batch service will use when provisioning Compute * Nodes. * @description The number of IPs specified here limits the maximum size of the Pool - 50 * dedicated nodes or 20 low-priority nodes can be allocated for each public IP. For example, a * pool needing 150 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}. */ ipAddressIds?: string[]; } /** * The network configuration for a Pool. */ export interface NetworkConfiguration { /** * @summary 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}. * @description 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, but for Pools created with cloudServiceConfiguration both ARM and classic * virtual networks 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. For Pools created with a cloud service * configuration, enable ports 10100, 20100, and 30100. 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 */ subnetId?: string; /** * @summary The scope of dynamic vnet assignment. * @description Possible values include: 'none', 'job' */ dynamicVNetAssignmentScope?: string; /** * @summary The configuration for endpoints on Compute Nodes in the Batch Pool. * @description Pool endpoint configuration is only supported on Pools with the * virtualMachineConfiguration property. */ endpointConfiguration?: PoolEndpointConfiguration; /** * @summary The Public IPAddress configuration for Compute Nodes in the Batch Pool. * @description Public IP configuration property is only supported on Pools with the * virtualMachineConfiguration property. */ publicIPAddressConfiguration?: PublicIPAddressConfiguration; } /** * @summary Information used to connect to an Azure Storage Container using Blobfuse. */ export interface AzureBlobFileSystemConfiguration { /** * @summary The Azure Storage Account name. */ accountName: string; /** * @summary The Azure Blob Storage Container name. */ containerName: string; /** * @summary The Azure Storage Account key. * @description This property is mutually exclusive with sasKey and one must be specified. */ accountKey?: string; /** * @summary The Azure Storage SAS token. * @description This property is mutually exclusive with accountKey and one must be specified. */ sasKey?: string; /** * @summary Additional command line options to pass to the mount command. * @description These are 'net use' options in Windows and 'mount' options in Linux. */ blobfuseOptions?: string; /** * @summary The relative path on the compute node where the file system will be mounted * @description All file systems are mounted relative to the Batch mounts directory, accessible * via the AZ_BATCH_NODE_MOUNTS_DIR environment variable. */ relativeMountPath: string; } /** * @summary Information used to connect to an NFS file system. */ export interface NFSMountConfiguration { /** * @summary The URI of the file system to mount. */ source: string; /** * @summary The relative path on the compute node where the file system will be mounted * @description All file systems are mounted relative to the Batch mounts directory, accessible * via the AZ_BATCH_NODE_MOUNTS_DIR environment variable. */ relativeMountPath: string; /** * @summary Additional command line options to pass to the mount command. * @description These are 'net use' options in Windows and 'mount' options in Linux. */ mountOptions?: string; } /** * @summary Information used to connect to a CIFS file system. */ export interface CIFSMountConfiguration { /** * @summary The user to use for authentication against the CIFS file system. */ username: string; /** * @summary The URI of the file system to mount. */ source: string; /** * @summary The relative path on the compute node where the file system will be mounted * @description All file systems are mounted relative to the Batch mounts directory, accessible * via the AZ_BATCH_NODE_MOUNTS_DIR environment variable. */ relativeMountPath: string; /** * @summary Additional command line options to pass to the mount command. * @description These are 'net use' options in Windows and 'mount' options in Linux. */ mountOptions?: string; /** * @summary The password to use for authentication against the CIFS file system. */ password: string; } /** * @summary Information used to connect to an Azure Fileshare. */ export interface AzureFileShareConfiguration { /** * @summary The Azure Storage account name. */ accountName: string; /** * @summary The Azure Files URL. * @description This is of the form 'https://{account}.file.core.windows.net/'. */ azureFileUrl: string; /** * @summary The Azure Storage account key. */ accountKey: string; /** * @summary The relative path on the compute node where the file system will be mounted * @description All file systems are mounted relative to the Batch mounts directory, accessible * via the AZ_BATCH_NODE_MOUNTS_DIR environment variable. */ relativeMountPath: string; /** * @summary Additional command line options to pass to the mount command. * @description These are 'net use' options in Windows and 'mount' options in Linux. */ mountOptions?: string; } /** * @summary The file system to mount on each node. */ export interface MountConfiguration { /** * @summary The Azure Storage Container to mount using blob FUSE on each node. * @description This property is mutually exclusive with all other properties. */ azureBlobFileSystemConfiguration?: AzureBlobFileSystemConfiguration; /** * @summary The NFS file system to mount on each node. * @description This property is mutually exclusive with all other properties. */ nfsMountConfiguration?: NFSMountConfiguration; /** * @summary The CIFS/SMB file system to mount on each node. * @description This property is mutually exclusive with all other properties. */ cifsMountConfiguration?: CIFSMountConfiguration; /** * @summary The Azure File Share to mount on each node. * @description This property is mutually exclusive with all other properties. */ azureFileShareConfiguration?: AzureFileShareConfiguration; } /** * @summary Specification for creating a new Pool. */ export interface PoolSpecification { /** * @summary The display name for the Pool. * @description The display name need not be unique and can contain any Unicode characters up to * a maximum length of 1024. */ displayName?: string; /** * @summary The size of the virtual machines in the Pool. All virtual machines in a Pool are the * same size. * @description 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). */ vmSize: string; /** * @summary The cloud service configuration for the Pool. * @description This property must be specified if the Pool needs to be created with Azure PaaS * VMs. This property and virtualMachineConfiguration are mutually exclusive and one of the * properties must be specified. If neither is specified then the Batch service returns an error; * if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). This * property cannot be specified if the Batch Account was created with its poolAllocationMode * property set to 'UserSubscription'. */ cloudServiceConfiguration?: CloudServiceConfiguration; /** * @summary The virtual machine configuration for the Pool. * @description This property must be specified if the Pool needs to be created with Azure IaaS * VMs. This property and cloudServiceConfiguration are mutually exclusive and one of the * properties must be specified. If neither is specified then the Batch service returns an error; * if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). */ virtualMachineConfiguration?: VirtualMachineConfiguration; /** * @summary The maximum number of Tasks that can run concurrently on a single Compute Node in the * Pool. * @description 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. */ maxTasksPerNode?: number; /** * @summary How Tasks are distributed across Compute Nodes in a Pool. * @description If not specified, the default is spread. */ taskSchedulingPolicy?: TaskSchedulingPolicy; /** * @summary The timeout for allocation of Compute Nodes to the Pool. * @description This timeout applies only to manual scaling; it has no effect when * enableAutoScale is set to true. The default value is 15 minutes. The minimum value is 5 * minutes. If you specify a value less than 5 minutes, the Batch service rejects the request * with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad * Request). */ resizeTimeout?: moment.Duration; /** * @summary The desired number of dedicated Compute Nodes in the Pool. * @description This property must not be specified if enableAutoScale is set to true. If * enableAutoScale is set to false, then you must set either targetDedicatedNodes, * targetLowPriorityNodes, or both. */ targetDedicatedNodes?: number; /** * @summary The desired number of low-priority Compute Nodes in the Pool. * @description This property must not be specified if enableAutoScale is set to true. If * enableAutoScale is set to false, then you must set either targetDedicatedNodes, * targetLowPriorityNodes, or both. */ targetLowPriorityNodes?: number; /** * @summary Whether the Pool size should automatically adjust over time. * @description If false, at least one of targetDedicateNodes and targetLowPriorityNodes must be * specified. If true, the autoScaleFormula element is required. The Pool automatically resizes * according to the formula. The default value is false. */ enableAutoScale?: boolean; /** * @summary The formula for the desired number of Compute Nodes in the Pool. * @description This property must not be specified if enableAutoScale is set to false. It is * required if enableAutoScale is set to true. The formula is checked for validity before the * Pool is created. If the formula is not valid, the Batch service rejects the request with * detailed error information. */ autoScaleFormula?: string; /** * @summary The time interval at which to automatically adjust the Pool size according to the * autoscale formula. * @description 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). */ autoScaleEvaluationInterval?: moment.Duration; /** * @summary Whether the Pool permits direct communication between Compute Nodes. * @description 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. */ enableInterNodeCommunication?: boolean; /** * @summary The network configuration for the Pool. */ networkConfiguration?: NetworkConfiguration; /** * @summary 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. */ startTask?: StartTask; /** * @summary A list of Certificates to be installed on each Compute Node in the Pool. * @description For Windows Nodes, the Batch service installs the Certificates to the specified * Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a * directory inside the Task working directory and an environment variable * AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates * with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory * (e.g., /home/{user-name}/certs) and Certificates are placed in that directory. */ certificateReferences?: CertificateReference[]; /** * @summary The list of Packages to be installed on each Compute Node in the Pool. * @description Changes to Package references affect all new Nodes joining the Pool, but do not * affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. There * is a maximum of 10 Package references on any given Pool. */ applicationPackageReferences?: ApplicationPackageReference[]; /** * @summary The list of application licenses the Batch service will make available on each * Compute Node in the Pool. * @description The list of application licenses must be a subset of available Batch service * application licenses. If a license is requested which is not supported, Pool creation will * fail. The permitted licenses available on the Pool are 'maya', 'vray', '3dsmax', 'arnold'. An * additional charge applies for each application license added to the Pool. */ applicationLicenses?: string[]; /** * @summary The list of user Accounts to be created on each Compute Node in the Pool. */ userAccounts?: UserAccount[]; /** * @summary A list of name-value pairs associated with the Pool as metadata. * @description The Batch service does not assign any meaning to metadata; it is solely for the * use of user code. */ metadata?: MetadataItem[]; /** * @summary A list of file systems to mount on each node in the pool. * @description This supports Azure Files, NFS, CIFS/SMB, and Blobfuse. */ mountConfiguration?: MountConfiguration[]; } /** * @summary Specifies characteristics for a temporary 'auto pool'. The Batch service will create * this auto Pool when the Job is submitted. */ export interface AutoPoolSpecification { /** * @summary A prefix to be added to the unique identifier when a Pool is automatically created. * @description 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. */ autoPoolIdPrefix?: string; /** * @summary The minimum lifetime of created auto Pools, and how multiple Jobs on a schedule are * assigned to Pools. * @description Possible values include: 'jobSchedule', 'job' */ poolLifetimeOption: string; /** * @summary Whether to keep an auto Pool alive after its lifetime expires. * @description 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. */ keepAlive?: boolean; /** * @summary The Pool specification for the auto Pool. */ pool?: PoolSpecification; } /** * @summary Specifies how a Job should be assigned to a Pool. */ export interface PoolInformation { /** * @summary The ID of an existing Pool. All the Tasks of the Job will run on the specified Pool. * @description You must ensure that the Pool referenced by this property exists. If the Pool * does not exist at the time the Batch service tries to schedule a Job, no Tasks for the Job * will run until you create a Pool with that id. Note that the Batch service will not reject the * Job request; it will simply not run Tasks until the Pool exists. You must specify either the * Pool ID or the auto Pool specification, but not both. */ poolId?: string; /** * @summary Characteristics for a temporary 'auto pool'. The Batch service will create this auto * Pool when the Job is submitted. * @description If auto Pool creation fails, the Batch service moves the Job to a completed * state, and the Pool creation error is set in the Job's scheduling error property. The Batch * service manages the lifetime (both creation and, unless keepAlive is specified, deletion) of * the auto Pool. Any user actions that affect the lifetime of the auto Pool while the Job is * active will result in unexpected behavior. You must specify either the Pool ID or the auto * Pool specification, but not both. */ autoPoolSpecification?: AutoPoolSpecification; } /** * @summary Specifies details of the Jobs to be created on a schedule. */ export interface JobSpecification { /** * @summary The priority of Jobs created under this schedule. * @description Priority values can range from -1000 to 1000, with -1000 being the lowest * priority and 1000 being the highest priority. The default value is 0. This priority is used as * the default for all Jobs under the Job Schedule. You can update a Job's priority after it has * been created using by using the update Job API. */ priority?: number; /** * @summary The display name for Jobs created under this schedule. * @description The name need not be unique and can contain any Unicode characters up to a * maximum length of 1024. */ displayName?: string; /** * @summary Whether Tasks in the Job can define dependencies on each other. The default is false. */ usesTaskDependencies?: boolean; /** * @summary The action the Batch service should take when all Tasks in a Job created under this * schedule are in the completed state. * @description 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. Possible values include: 'noAction', * 'terminateJob' */ onAllTasksComplete?: string; /** * @summary 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. * @description The default is noaction. Possible values include: 'noAction', * 'performExitOptionsJobAction' */ onTaskFailure?: string; /** * @summary The network configuration for the Job. */ networkConfiguration?: JobNetworkConfiguration; /** * @summary The execution constraints for Jobs created under this schedule. */ constraints?: JobConstraints; /** * @summary The details of a Job Manager Task to be launched when a Job is started under this * schedule. * @description If the Job does not specify a Job Manager Task, the user must explicitly add * Tasks to the Job using the Task API. If the Job does specify a Job Manager Task, the Batch * service creates the Job Manager Task when the Job is created, and will try to schedule the Job * Manager Task before scheduling other Tasks in the Job. */ jobManagerTask?: JobManagerTask; /** * @summary The Job Preparation Task for Jobs created under this schedule. * @description If a Job has a Job Preparation Task, the Batch service will run the Job * Preparation Task on a Node before starting any Tasks of that Job on that Compute Node. */ jobPreparationTask?: JobPreparationTask; /** * @summary The Job Release Task for Jobs created under this schedule. * @description The primary purpose of the Job Release Task is to undo changes to Nodes made by * the Job Preparation Task. Example activities include deleting local files, or shutting down * services that were started as part of Job preparation. A Job Release Task cannot be specified * without also specifying a Job Preparation Task for the Job. The Batch service runs the Job * Release Task on the Compute Nodes that have run the Job Preparation Task. */ jobReleaseTask?: JobReleaseTask; /** * @summary A list of common environment variable settings. These environment variables are set * for all Tasks in Jobs created under this schedule (including the Job Manager, Job Preparation * and Job Release Tasks). * @description Individual Tasks can override an environment setting specified here by specifying * the same setting name with a different value. */ commonEnvironmentSettings?: EnvironmentSetting[]; /** * @summary The Pool on which the Batch service runs the Tasks of Jobs created under this * schedule. */ poolInfo: PoolInformation; /** * @summary A list of name-value pairs associated with each Job created under this schedule as * metadata. * @description The Batch service does not assign any meaning to metadata; it is solely for the * use of user code. */ metadata?: MetadataItem[]; } /** * @summary Information about the most recent Job to run under the Job Schedule. */ export interface RecentJob { /** * @summary The ID of the Job. */ id?: string; /** * @summary The URL of the Job. */ url?: string; } /** * @summary Contains information about Jobs that have been and will be run under a Job Schedule. */ export interface JobScheduleExecutionInformation { /** * @summary The next time at which a Job will be created under this schedule. * @description This property is meaningful only if the schedule is in the active state when the * time comes around. For example, if the schedule is disabled, no Job will be created at * nextRunTime unless the Job is enabled before then. */ nextRunTime?: Date; /** * @summary Information about the most recent Job under the Job Schedule. * @description This property is present only if the at least one Job has run under the schedule. */ recentJob?: RecentJob; /** * @summary The time at which the schedule ended. * @description This property is set only if the Job Schedule is in the completed state. */ endTime?: Date; } /** * @summary Resource usage statistics for a Job Schedule. */ export interface JobScheduleStatistics { /** * @summary The URL of the statistics. */ url: string; /** * @summary The start time of the time range covered by the statistics. */ startTime: Date; /** * @summary The time at which the statistics were last updated. All statistics are limited to the * range between startTime and lastUpdateTime. */ lastUpdateTime: Date; /** * @summary The total user mode CPU time (summed across all cores and all Compute Nodes) consumed * by all Tasks in all Jobs created under the schedule. */ userCPUTime: moment.Duration; /** * @summary The total kernel mode CPU time (summed across all cores and all Compute Nodes) * consumed by all Tasks in all Jobs created under the schedule. */ kernelCPUTime: moment.Duration; /** * @summary The total wall clock time of all the Tasks in all the Jobs created under the * schedule. * @description The wall clock time is the elapsed time from when the Task started running on a * Compute Node to when it finished (or to the last time the statistics were updated, if the Task * had not finished by then). If a Task was retried, this includes the wall clock time of all the * Task retries. */ wallClockTime: moment.Duration; /** * @summary The total number of disk read operations made by all Tasks in all Jobs created under * the schedule. */ readIOps: number; /** * @summary The total number of disk write operations made by all Tasks in all Jobs created under * the schedule. */ writeIOps: number; /** * @summary The total gibibytes read from disk by all Tasks in all Jobs created under the * schedule. */ readIOGiB: number; /** * @summary The total gibibytes written to disk by all Tasks in all Jobs created under the * schedule. */ writeIOGiB: number; /** * @summary The total number of Tasks successfully completed during the given time range in Jobs * created under the schedule. A Task completes successfully if it returns exit code 0. */ numSucceededTasks: number; /** * @summary The total number of Tasks that failed during the given time range in Jobs created * under the schedule. A Task fails if it exhausts its maximum retry count without returning exit * code 0. */ numFailedTasks: number; /** * @summary The total number of retries during the given time range on all Tasks in all Jobs * created under the schedule. */ numTaskRetries: number; /** * @summary The total wait time of all Tasks in all Jobs created under the schedule. The wait * time for a Task is defined as the elapsed time between the creation of the Task and the start * of Task execution. (If the Task is retried due to failures, the wait time is the time to the * most recent Task execution.) * @description This value is only reported in the Account lifetime statistics; it is not * included in the Job statistics. */ waitTime: moment.Duration; } /** * @summary A Job Schedule that allows recurring Jobs by specifying when to run Jobs and a * specification used to create each Job. */ export interface CloudJobSchedule { /** * @summary A string that uniquely identifies the schedule within the Account. */ id?: string; /** * @summary The display name for the schedule. */ displayName?: string; /** * @summary The URL of the Job Schedule. */ url?: string; /** * @summary The ETag of the Job Schedule. * @description This is an opaque string. You can use it to detect whether the Job Schedule has * changed between requests. In particular, you can be pass the ETag with an Update Job Schedule * request to specify that your changes should take effect only if nobody else has modified the * schedule in the meantime. */ eTag?: string; /** * @summary The last modified time of the Job Schedule. * @description This is the last time at which the schedule level data, such as the Job * specification or recurrence information, changed. It does not factor in job-level changes such * as new Jobs being created or Jobs changing state. */ lastModified?: Date; /** * @summary The creation time of the Job Schedule. */ creationTime?: Date; /** * @summary The current state of the Job Schedule. * @description Possible values include: 'active', 'completed', 'disabled', 'terminating', * 'deleting' */ state?: string; /** * @summary The time at which the Job Schedule entered the current state. */ stateTransitionTime?: Date; /** * @summary The previous state of the Job Schedule. * @description This property is not present if the Job Schedule is in its initial active state. * Possible values include: 'active', 'completed', 'disabled', 'terminating', 'deleting' */ previousState?: string; /** * @summary The time at which the Job Schedule entered its previous state. * @description This property is not present if the Job Schedule is in its initial active state. */ previousStateTransitionTime?: Date; /** * @summary The schedule according to which Jobs will be created. */ schedule?: Schedule; /** * @summary The details of the Jobs to be created on this schedule. */ jobSpecification?: JobSpecification; /** * @summary Information about Jobs that have been and will be run under this schedule. */ executionInfo?: JobScheduleExecutionInformation; /** * @summary A list of name-value pairs associated with the schedule as metadata. * @description The Batch service does not assign any meaning to metadata; it is solely for the * use of user code. */ metadata?: MetadataItem[]; /** * @summary The lifetime resource usage statistics for the Job Schedule. The statistics may not * be immediately available. The Batch service performs periodic roll-up of statistics. The * typical delay is about 30 minutes. */ stats?: JobScheduleStatistics; } /** * @summary A Job Schedule that allows recurring Jobs by specifying when to run Jobs and a * specification used to create each Job. */ export interface JobScheduleAddParameter { /** * @summary A string that uniquely identifies the schedule within the Account. * @description The ID can contain any combination of alphanumeric characters including hyphens * and underscores, and cannot contain more than 64 characters. The ID is case-preserving and * case-insensitive (that is, you may not have two IDs within an Account that differ only by * case). */ id: string; /** * @summary The display name for the schedule. * @description The display name need not be unique and can contain any Unicode characters up to * a maximum length of 1024. */ displayName?: string; /** * @summary The schedule according to which Jobs will be created. */ schedule: Schedule; /** * @summary The details of the Jobs to be created on this schedule. */ jobSpecification: JobSpecification; /** * @summary A list of name-value pairs associated with the schedule as metadata. * @description The Batch service does not assign any meaning to metadata; it is solely for the * use of user code. */ metadata?: MetadataItem[]; } /** * @summary An error encountered by the Batch service when scheduling a Job. */ export interface JobSchedulingError { /** * @summary The category of the Job scheduling error. * @description Possible values include: 'userError', 'serverError' */ category: string; /** * @summary An identifier for the Job scheduling error. Codes are invariant and are intended to * be consumed programmatically. */ code?: string; /** * @summary A message describing the Job scheduling error, intended to be suitable for display in * a user interface. */ message?: string; /** * @summary A list of additional error details related to the scheduling error. */ details?: NameValuePair[]; } /** * @summary Contains information about the execution of a Job in the Azure Batch service. */ export interface JobExecutionInformation { /** * @summary The start time of the Job. * @description This is the time at which the Job was created. */ startTime: Date; /** * @summary The completion time of the Job. * @description This property is set only if the Job is in the completed state. */ endTime?: Date; /** * @summary The ID of the Pool to which this Job is assigned. * @description This element contains the actual Pool where the Job is assigned. When you get Job * details from the service, they also contain a poolInfo element, which contains the Pool * configuration data from when the Job was added or updated. That poolInfo element may also * contain a poolId element. If it does, the two IDs are the same. If it does not, it means the * Job ran on an auto Pool, and this property contains the ID of that auto Pool. */ poolId?: string; /** * @summary Details of any error encountered by the service in starting the Job. * @description This property is not set if there was no error starting the Job. */ schedulingError?: JobSchedulingError; /** * @summary A string describing the reason the Job ended. * @description This property is set only if the Job is in the completed state. If the Batch * service terminates the Job, it sets the reason as follows: JMComplete - the Job Manager Task * completed, and killJobOnCompletion was set to true. MaxWallClockTimeExpiry - the Job reached * its maxWallClockTime constraint. TerminateJobSchedule - the Job ran as part of a schedule, and * the schedule terminated. AllTasksComplete - the Job's onAllTasksComplete attribute is set to * terminatejob, and all Tasks in the Job are complete. TaskFailed - the Job's onTaskFailure * attribute is set to performExitOptionsJobAction, and a Task in the Job failed with an exit * condition that specified a jobAction of terminatejob. Any other string is a user-defined * reason specified in a call to the 'Terminate a Job' operation. */ terminateReason?: string; } /** * @summary An Azure Batch Job. */ export interface CloudJob { /** * @summary A string that uniquely identifies the Job within the Account. * @description The ID is case-preserving and case-insensitive (that is, you may not have two IDs * within an Account that differ only by case). */ id?: string; /** * @summary The display name for the Job. */ displayName?: string; /** * @summary Whether Tasks in the Job can define dependencies on each other. The default is false. */ usesTaskDependencies?: boolean; /** * @summary The URL of the Job. */ url?: string; /** * @summary The ETag of the Job. * @description This is an opaque string. You can use it to detect whether the Job has changed * between requests. In particular, you can be pass the ETag when updating a Job to specify that * your changes should take effect only if nobody else has modified the Job in the meantime. */ eTag?: string; /** * @summary The last modified time of the Job. * @description This is the last time at which the Job level data, such as the Job state or * priority, changed. It does not factor in task-level changes such as adding new Tasks or Tasks * changing state. */ lastModified?: Date; /** * @summary The creation time of the Job. */ creationTime?: Date; /** * @summary The current state of the Job. * @description Possible values include: 'active', 'disabling', 'disabled', 'enabling', * 'terminating', 'completed', 'deleting' */ state?: string; /** * @summary The time at which the Job entered its current state. */ stateTransitionTime?: Date; /** * @summary The previous state of the Job. * @description This property is not set if the Job is in its initial Active state. Possible * values include: 'active', 'disabling', 'disabled', 'enabling', 'terminating', 'completed', * 'deleting' */ previousState?: string; /** * @summary The time at which the Job entered its previous state. * @description This property is not set if the Job is in its initial Active state. */ previousStateTransitionTime?: Date; /** * @summary The priority of the Job. * @description Priority values can range from -1000 to 1000, with -1000 being the lowest * priority and 1000 being the highest priority. The default value is 0. */ priority?: number; /** * @summary The execution constraints for the Job. */ constraints?: JobConstraints; /** * @summary Details of a Job Manager Task to be launched when the Job is started. */ jobManagerTask?: JobManagerTask; /** * @summary The Job Preparation Task. * @description The Job Preparation Task is a special Task run on each Compute Node before any * other Task of the Job. */ jobPreparationTask?: JobPreparationTask; /** * @summary The Job Release Task. * @description The Job Release Task is a special Task run at the end of the Job on each Compute * Node that has run any other Task of the Job. */ jobReleaseTask?: JobReleaseTask; /** * @summary The list of common environment variable settings. These environment variables are set * for all Tasks in the Job (including the Job Manager, Job Preparation and Job Release Tasks). * @description Individual Tasks can override an environment setting specified here by specifying * the same setting name with a different value. */ commonEnvironmentSettings?: EnvironmentSetting[]; /** * @summary The Pool settings associated with the Job. */ poolInfo?: PoolInformation; /** * @summary The action the Batch service should take when all Tasks in the Job are in the * completed state. * @description The default is noaction. Possible values include: 'noAction', 'terminateJob' */ onAllTasksComplete?: string; /** * @summary The action the Batch service should take when any Task in the Job fails. * @description 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. Possible values include: 'noAction', 'performExitOptionsJobAction' */ onTaskFailure?: string; /** * @summary The network configuration for the Job. */ networkConfiguration?: JobNetworkConfiguration; /** * @summary A list of name-value pairs associated with the Job as metadata. * @description The Batch service does not assign any meaning to metadata; it is solely for the * use of user code. */ metadata?: MetadataItem[]; /** * @summary The execution information for the Job. */ executionInfo?: JobExecutionInformation; /** * @summary Resource usage statistics for the entire lifetime of the Job. * @description 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. */ stats?: JobStatistics; } /** * @summary An Azure Batch Job to add. */ export interface JobAddParameter { /** * @summary A string that uniquely identifies the Job within the Account. * @description The ID can contain any combination of alphanumeric characters including hyphens * and underscores, and cannot contain more than 64 characters. The ID is case-preserving and * case-insensitive (that is, you may not have two IDs within an Account that differ only by * case). */ id: string; /** * @summary The display name for the Job. * @description The display name need not be unique and can contain any Unicode characters up to * a maximum length of 1024. */ displayName?: string; /** * @summary The priority of the Job. * @description Priority values can range from -1000 to 1000, with -1000 being the lowest * priority and 1000 being the highest priority. The default value is 0. */ priority?: number; /** * The execution constraints for the Job. */ constraints?: JobConstraints; /** * @summary Details of a Job Manager Task to be launched when the Job is started. * @description If the Job does not specify a Job Manager Task, the user must explicitly add * Tasks to the Job. If the Job does specify a Job Manager Task, the Batch service creates the * Job Manager Task when the Job is created, and will try to schedule the Job Manager Task before * scheduling other Tasks in the Job. The Job Manager Task's typical purpose is to control and/or * monitor Job execution, for example by deciding what additional Tasks to run, determining when * the work is complete, etc. (However, a Job Manager Task is not restricted to these activities * - it is a fully-fledged Task in the system and perform whatever actions are required for the * Job.) For example, a Job Manager Task might download a file specified as a parameter, analyze * the contents of that file and submit additional Tasks based on those contents. */ jobManagerTask?: JobManagerTask; /** * @summary The Job Preparation Task. * @description If a Job has a Job Preparation Task, the Batch service will run the Job * Preparation Task on a Node before starting any Tasks of that Job on that Compute Node. */ jobPreparationTask?: JobPreparationTask; /** * @summary The Job Release Task. * @description A Job Release Task cannot be specified without also specifying a Job Preparation * Task for the Job. The Batch service runs the Job Release Task on the Nodes that have run the * Job Preparation Task. The primary purpose of the Job Release Task is to undo changes to * Compute Nodes made by the Job Preparation Task. Example activities include deleting local * files, or shutting down services that were started as part of Job preparation. */ jobReleaseTask?: JobReleaseTask; /** * @summary The list of common environment variable settings. These environment variables are set * for all Tasks in the Job (including the Job Manager, Job Preparation and Job Release Tasks). * @description Individual Tasks can override an environment setting specified here by specifying * the same setting name with a different value. */ commonEnvironmentSettings?: EnvironmentSetting[]; /** * @summary The Pool on which the Batch service runs the Job's Tasks. */ poolInfo: PoolInformation; /** * @summary The action the Batch service should take when all Tasks in the Job are in the * completed state. * @description 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. Possible values include: 'noAction', * 'terminateJob' */ onAllTasksComplete?: string; /** * @summary The action the Batch service should take when any Task in the Job fails. * @description 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. Possible values include: 'noAction', 'performExitOptionsJobAction' */ onTaskFailure?: string; /** * @summary A list of name-value pairs associated with the Job as metadata. * @description The Batch service does not assign any meaning to metadata; it is solely for the * use of user code. */ metadata?: MetadataItem[]; /** * @summary Whether Tasks in the Job can define dependencies on each other. The default is false. */ usesTaskDependencies?: boolean; /** * @summary The network configuration for the Job. */ networkConfiguration?: JobNetworkConfiguration; } /** * @summary Contains information about the container which a Task is executing. */ export interface TaskContainerExecutionInformation { /** * @summary The ID of the container. */ containerId?: string; /** * @summary The state of the container. * @description This is the state of the container according to the Docker service. It is * equivalent to the status field returned by "docker inspect". */ state?: string; /** * @summary Detailed error information about the container. * @description This is the detailed error string from the Docker service, if available. It is * equivalent to the error field returned by "docker inspect". */ error?: string; } /** * @summary Information about a Task failure. */ export interface TaskFailureInformation { /** * @summary The category of the Task error. * @description Possible values include: 'userError', 'serverError' */ category: string; /** * @summary An identifier for the Task error. Codes are invariant and are intended to be consumed * programmatically. */ code?: string; /** * @summary A message describing the Task error, intended to be suitable for display in a user * interface. */ message?: string; /** * @summary A list of additional details related to the error. */ details?: NameValuePair[]; } /** * @summary Contains information about the execution of a Job Preparation Task on a Compute Node. */ export interface JobPreparationTaskExecutionInformation { /** * @summary The time at which the Task started running. * @description If the Task has been restarted or retried, this is the most recent time at which * the Task started running. */ startTime: Date; /** * @summary The time at which the Job Preparation Task completed. * @description This property is set only if the Task is in the Completed state. */ endTime?: Date; /** * @summary The current state of the Job Preparation Task on the Compute Node. * @description Possible values include: 'running', 'completed' */ state: string; /** * @summary 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. */ taskRootDirectory?: string; /** * @summary The URL to the root directory of the Job Preparation Task on the Compute Node. */ taskRootDirectoryUrl?: string; /** * @summary The exit code of the program specified on the Task command line. * @description This parameter is returned only if the Task is in the completed state. The exit * code for a process reflects the specific convention implemented by the application developer * for that process. If you use the exit code value to make decisions in your code, be sure that * you know the exit code convention used by the application process. Note that the exit code may * also be generated by the Compute Node operating system, such as when a process is forcibly * terminated. */ exitCode?: number; /** * @summary Information about the container under which the Task is executing. * @description This property is set only if the Task runs in a container context. */ containerInfo?: TaskContainerExecutionInformation; /** * @summary Information describing the Task failure, if any. * @description This property is set only if the Task is in the completed state and encountered a * failure. */ failureInfo?: TaskFailureInformation; /** * @summary The number of times the Task has been retried by the Batch service. Task application * failures (non-zero exit code) are retried, pre-processing errors (the Task could not be run) * and file upload errors are not retried. The Batch service will retry the Task up to the limit * specified by the constraints. * @description Task application failures (non-zero exit code) are retried, pre-processing errors * (the Task could not be run) and file upload errors are not retried. The Batch service will * retry the Task up to the limit specified by the constraints. */ retryCount: number; /** * @summary The most recent time at which a retry of the Job Preparation Task started running. * @description 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. */ lastRetryTime?: Date; /** * @summary The result of the Task execution. * @description If the value is 'failed', then the details of the failure can be found in the * failureInfo property. Possible values include: 'success', 'failure' */ result?: string; } /** * @summary Contains information about the execution of a Job Release Task on a Compute Node. */ export interface JobReleaseTaskExecutionInformation { /** * @summary The time at which the Task started running. * @description If the Task has been restarted or retried, this is the most recent time at which * the Task started running. */ startTime: Date; /** * @summary The time at which the Job Release Task completed. * @description This property is set only if the Task is in the Completed state. */ endTime?: Date; /** * @summary The current state of the Job Release Task on the Compute Node. * @description Possible values include: 'running', 'completed' */ state: string; /** * @summary 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. */ taskRootDirectory?: string; /** * @summary The URL to the root directory of the Job Release Task on the Compute Node. */ taskRootDirectoryUrl?: string; /** * @summary The exit code of the program specified on the Task command line. * @description This parameter is returned only if the Task is in the completed state. The exit * code for a process reflects the specific convention implemented by the application developer * for that process. If you use the exit code value to make decisions in your code, be sure that * you know the exit code convention used by the application process. Note that the exit code may * also be generated by the Compute Node operating system, such as when a process is forcibly * terminated. */ exitCode?: number; /** * @summary Information about the container under which the Task is executing. * @description This property is set only if the Task runs in a container context. */ containerInfo?: TaskContainerExecutionInformation; /** * @summary Information describing the Task failure, if any. * @description This property is set only if the Task is in the completed state and encountered a * failure. */ failureInfo?: TaskFailureInformation; /** * @summary The result of the Task execution. * @description If the value is 'failed', then the details of the failure can be found in the * failureInfo property. Possible values include: 'success', 'failure' */ result?: string; } /** * @summary The status of the Job Preparation and Job Release Tasks on a Compute Node. */ export interface JobPreparationAndReleaseTaskExecutionInformation { /** * @summary The ID of the Pool containing the Compute Node to which this entry refers. */ poolId?: string; /** * @summary The ID of the Compute Node to which this entry refers. */ nodeId?: string; /** * @summary The URL of the Compute Node to which this entry refers. */ nodeUrl?: string; /** * @summary Information about the execution status of the Job Preparation Task on this Compute * Node. */ jobPreparationTaskExecutionInfo?: JobPreparationTaskExecutionInformation; /** * @summary Information about the execution status of the Job Release Task on this Compute Node. * @description This property is set only if the Job Release Task has run on the Compute Node. */ jobReleaseTaskExecutionInfo?: JobReleaseTaskExecutionInformation; } /** * @summary The Task counts for a Job. */ export interface TaskCounts { /** * @summary The number of Tasks in the active state. */ active: number; /** * @summary The number of Tasks in the running or preparing state. */ running: number; /** * @summary The number of Tasks in the completed state. */ completed: number; /** * @summary The number of Tasks which succeeded. A Task succeeds if its result (found in the * executionInfo property) is 'success'. */ succeeded: number; /** * @summary The number of Tasks which failed. A Task fails if its result (found in the * executionInfo property) is 'failure'. */ failed: number; } /** * @summary An error that occurred when executing or evaluating a Pool autoscale formula. */ export interface AutoScaleRunError { /** * @summary An identifier for the autoscale error. Codes are invariant and are intended to be * consumed programmatically. */ code?: string; /** * @summary A message describing the autoscale error, intended to be suitable for display in a * user interface. */ message?: string; /** * @summary A list of additional error details related to the autoscale error. */ values?: NameValuePair[]; } /** * @summary The results and errors from an execution of a Pool autoscale formula. */ export interface AutoScaleRun { /** * @summary The time at which the autoscale formula was last evaluated. */ timestamp: Date; /** * @summary The final values of all variables used in the evaluation of the autoscale formula. * @description Each variable value is returned in the form $variable=value, and variables are * separated by semicolons. */ results?: string; /** * @summary Details of the error encountered evaluating the autoscale formula on the Pool, if the * evaluation was unsuccessful. */ error?: AutoScaleRunError; } /** * @summary An error that occurred when resizing a Pool. */ export interface ResizeError { /** * @summary An identifier for the Pool resize error. Codes are invariant and are intended to be * consumed programmatically. */ code?: string; /** * @summary A message describing the Pool resize error, intended to be suitable for display in a * user interface. */ message?: string; /** * @summary A list of additional error details related to the Pool resize error. */ values?: NameValuePair[]; } /** * @summary A Pool in the Azure Batch service. */ export interface CloudPool { /** * @summary A string that uniquely identifies the Pool within the Account. * @description The ID can contain any combination of alphanumeric characters including hyphens * and underscores, and cannot contain more than 64 characters. The ID is case-preserving and * case-insensitive (that is, you may not have two IDs within an Account that differ only by * case). */ id?: string; /** * @summary The display name for the Pool. * @description The display name need not be unique and can contain any Unicode characters up to * a maximum length of 1024. */ displayName?: string; /** * @summary The URL of the Pool. */ url?: string; /** * @summary The ETag of the Pool. * @description This is an opaque string. You can use it to detect whether the Pool has changed * between requests. In particular, you can be pass the ETag when updating a Pool to specify that * your changes should take effect only if nobody else has modified the Pool in the meantime. */ eTag?: string; /** * @summary The last modified time of the Pool. * @description This is the last time at which the Pool level data, such as the * targetDedicatedNodes or enableAutoscale settings, changed. It does not factor in node-level * changes such as a Compute Node changing state. */ lastModified?: Date; /** * @summary The creation time of the Pool. */ creationTime?: Date; /** * @summary The current state of the Pool. * @description Possible values include: 'active', 'deleting' */ state?: string; /** * @summary The time at which the Pool entered its current state. */ stateTransitionTime?: Date; /** * @summary Whether the Pool is resizing. * @description Possible values include: 'steady', 'resizing', 'stopping' */ allocationState?: string; /** * @summary The time at which the Pool entered its current allocation state. */ allocationStateTransitionTime?: Date; /** * @summary The size of virtual machines in the Pool. All virtual machines in a Pool are the same * size. * @description 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). */ vmSize?: string; /** * @summary The cloud service configuration for the Pool. * @description This property and virtualMachineConfiguration are mutually exclusive and one of * the properties must be specified. This property cannot be specified if the Batch Account was * created with its poolAllocationMode property set to 'UserSubscription'. */ cloudServiceConfiguration?: CloudServiceConfiguration; /** * @summary The virtual machine configuration for the Pool. * @description This property and cloudServiceConfiguration are mutually exclusive and one of the * properties must be specified. */ virtualMachineConfiguration?: VirtualMachineConfiguration; /** * @summary The timeout for allocation of Compute Nodes to the Pool. * @description This is the timeout for the most recent resize operation. (The initial sizing * when the Pool is created counts as a resize.) The default value is 15 minutes. */ resizeTimeout?: moment.Duration; /** * @summary A list of errors encountered while performing the last resize on the Pool. * @description This property is set only if one or more errors occurred during the last Pool * resize, and only when the Pool allocationState is Steady. */ resizeErrors?: ResizeError[]; /** * @summary The number of dedicated Compute Nodes currently in the Pool. */ currentDedicatedNodes?: number; /** * @summary The number of low-priority Compute Nodes currently in the Pool. * @description Low-priority Compute Nodes which have been preempted are included in this count. */ currentLowPriorityNodes?: number; /** * @summary The desired number of dedicated Compute Nodes in the Pool. */ targetDedicatedNodes?: number; /** * @summary The desired number of low-priority Compute Nodes in the Pool. */ targetLowPriorityNodes?: number; /** * @summary Whether the Pool size should automatically adjust over time. * @description If false, at least one of targetDedicateNodes and targetLowPriorityNodes must be * specified. If true, the autoScaleFormula property is required and the Pool automatically * resizes according to the formula. The default value is false. */ enableAutoScale?: boolean; /** * @summary A formula for the desired number of Compute Nodes in the Pool. * @description This property is set only if the Pool automatically scales, i.e. enableAutoScale * is true. */ autoScaleFormula?: string; /** * @summary The time interval at which to automatically adjust the Pool size according to the * autoscale formula. * @description This property is set only if the Pool automatically scales, i.e. enableAutoScale * is true. */ autoScaleEvaluationInterval?: moment.Duration; /** * @summary The results and errors from the last execution of the autoscale formula. * @description This property is set only if the Pool automatically scales, i.e. enableAutoScale * is true. */ autoScaleRun?: AutoScaleRun; /** * @summary Whether the Pool permits direct communication between Compute Nodes. * @description This imposes restrictions on which Compute Nodes can be assigned to the Pool. * Specifying this value can reduce the chance of the requested number of Compute Nodes to be * allocated in the Pool. */ enableInterNodeCommunication?: boolean; /** * @summary The network configuration for the Pool. */ networkConfiguration?: NetworkConfiguration; /** * @summary A Task specified to run on each Compute Node as it joins the Pool. */ startTask?: StartTask; /** * @summary The list of Certificates to be installed on each Compute Node in the Pool. * @description For Windows Nodes, the Batch service installs the Certificates to the specified * Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a * directory inside the Task working directory and an environment variable * AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates * with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory * (e.g., /home/{user-name}/certs) and Certificates are placed in that directory. */ certificateReferences?: CertificateReference[]; /** * @summary The list of Packages to be installed on each Compute Node in the Pool. * @description Changes to Package references affect all new Nodes joining the Pool, but do not * affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. There * is a maximum of 10 Package references on any given Pool. */ applicationPackageReferences?: ApplicationPackageReference[]; /** * @summary The list of application licenses the Batch service will make available on each * Compute Node in the Pool. * @description The list of application licenses must be a subset of available Batch service * application licenses. If a license is requested which is not supported, Pool creation will * fail. */ applicationLicenses?: string[]; /** * @summary The maximum number of Tasks that can run concurrently on a single Compute Node in the * Pool. * @description 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. */ maxTasksPerNode?: number; /** * @summary How Tasks are distributed across Compute Nodes in a Pool. * @description If not specified, the default is spread. */ taskSchedulingPolicy?: TaskSchedulingPolicy; /** * @summary The list of user Accounts to be created on each Compute Node in the Pool. */ userAccounts?: UserAccount[]; /** * @summary A list of name-value pairs associated with the Pool as metadata. */ metadata?: MetadataItem[]; /** * @summary Utilization and resource usage statistics for the entire lifetime of the Pool. * @description 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. */ stats?: PoolStatistics; /** * @summary A list of file systems to mount on each node in the pool. * @description This supports Azure Files, NFS, CIFS/SMB, and Blobfuse. */ mountConfiguration?: MountConfiguration[]; } /** * @summary A Pool in the Azure Batch service to add. */ export interface PoolAddParameter { /** * @summary A string that uniquely identifies the Pool within the Account. * @description The ID can contain any combination of alphanumeric characters including hyphens * and underscores, and cannot contain more than 64 characters. The ID is case-preserving and * case-insensitive (that is, you may not have two Pool IDs within an Account that differ only by * case). */ id: string; /** * @summary The display name for the Pool. * @description The display name need not be unique and can contain any Unicode characters up to * a maximum length of 1024. */ displayName?: string; /** * @summary The size of virtual machines in the Pool. All virtual machines in a Pool are the same * size. * @description For information about available sizes of virtual machines for Cloud Services * Pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services * (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch * supports all Cloud Services VM sizes except ExtraSmall, A1V2 and A2V2. For information about * available VM sizes for Pools using Images from the Virtual Machines Marketplace (pools created * with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) * (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes * for Virtual Machines (Windows) * (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch * supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, * STANDARD_DS, and STANDARD_DSV2 series). */ vmSize: string; /** * @summary The cloud service configuration for the Pool. * @description This property and virtualMachineConfiguration are mutually exclusive and one of * the properties must be specified. This property cannot be specified if the Batch Account was * created with its poolAllocationMode property set to 'UserSubscription'. */ cloudServiceConfiguration?: CloudServiceConfiguration; /** * @summary The virtual machine configuration for the Pool. * @description This property and cloudServiceConfiguration are mutually exclusive and one of the * properties must be specified. */ virtualMachineConfiguration?: VirtualMachineConfiguration; /** * @summary The timeout for allocation of Compute Nodes to the Pool. * @description This timeout applies only to manual scaling; it has no effect when * enableAutoScale is set to true. 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). */ resizeTimeout?: moment.Duration; /** * @summary The desired number of dedicated Compute Nodes in the Pool. * @description This property must not be specified if enableAutoScale is set to true. If * enableAutoScale is set to false, then you must set either targetDedicatedNodes, * targetLowPriorityNodes, or both. */ targetDedicatedNodes?: number; /** * @summary The desired number of low-priority Compute Nodes in the Pool. * @description This property must not be specified if enableAutoScale is set to true. If * enableAutoScale is set to false, then you must set either targetDedicatedNodes, * targetLowPriorityNodes, or both. */ targetLowPriorityNodes?: number; /** * @summary Whether the Pool size should automatically adjust over time. * @description If false, at least one of targetDedicateNodes and targetLowPriorityNodes must be * specified. If true, the autoScaleFormula property is required and the Pool automatically * resizes according to the formula. The default value is false. */ enableAutoScale?: boolean; /** * @summary A formula for the desired number of Compute Nodes in the Pool. * @description This property must not be specified if enableAutoScale is set to false. It is * required if enableAutoScale is set to true. The formula is checked for validity before the * Pool is created. If the formula is not valid, the Batch service rejects the request with * detailed error information. For more information about specifying this formula, see * 'Automatically scale Compute Nodes in an Azure Batch Pool' * (https://azure.microsoft.com/documentation/articles/batch-automatic-scaling/). */ autoScaleFormula?: string; /** * @summary The time interval at which to automatically adjust the Pool size according to the * autoscale formula. * @description The default value is 15 minutes. The minimum and maximum value are 5 minutes and * 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, * the Batch service returns an error; if you are calling the REST API directly, the HTTP status * code is 400 (Bad Request). */ autoScaleEvaluationInterval?: moment.Duration; /** * @summary Whether the Pool permits direct communication between Compute Nodes. * @description 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. */ enableInterNodeCommunication?: boolean; /** * @summary The network configuration for the Pool. */ networkConfiguration?: NetworkConfiguration; /** * @summary A Task specified to run on each Compute Node as it joins the Pool. * @description The Task runs when the Compute Node is added to the Pool or when the Compute Node * is restarted. */ startTask?: StartTask; /** * @summary The list of Certificates to be installed on each Compute Node in the Pool. * @description For Windows Nodes, the Batch service installs the Certificates to the specified * Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a * directory inside the Task working directory and an environment variable * AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates * with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory * (e.g., /home/{user-name}/certs) and Certificates are placed in that directory. */ certificateReferences?: CertificateReference[]; /** * @summary The list of Packages to be installed on each Compute Node in the Pool. * @description Changes to Package references affect all new Nodes joining the Pool, but do not * affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. There * is a maximum of 10 Package references on any given Pool. */ applicationPackageReferences?: ApplicationPackageReference[]; /** * @summary The list of application licenses the Batch service will make available on each * Compute Node in the Pool. * @description The list of application licenses must be a subset of available Batch service * application licenses. If a license is requested which is not supported, Pool creation will * fail. */ applicationLicenses?: string[]; /** * @summary The maximum number of Tasks that can run concurrently on a single Compute Node in the * Pool. * @description 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. */ maxTasksPerNode?: number; /** * @summary How Tasks are distributed across Compute Nodes in a Pool. * @description If not specified, the default is spread. */ taskSchedulingPolicy?: TaskSchedulingPolicy; /** * @summary The list of user Accounts to be created on each Compute Node in the Pool. */ userAccounts?: UserAccount[]; /** * @summary A list of name-value pairs associated with the Pool as metadata. * @description The Batch service does not assign any meaning to metadata; it is solely for the * use of user code. */ metadata?: MetadataItem[]; /** * @summary Mount storage using specified file system for the entire lifetime of the pool. * @description Mount the storage using Azure fileshare, NFS, CIFS or Blobfuse based file system. */ mountConfiguration?: MountConfiguration[]; } /** * @summary A locality hint that can be used by the Batch service to select a Compute Node on which * to start a Task. */ export interface AffinityInformation { /** * @summary An opaque string representing the location of a Compute Node or a Task that has run * previously. * @description You can pass the affinityId of a Node to indicate that this Task needs to run on * that Compute Node. Note that this is just a soft affinity. If the target Compute Node is busy * or unavailable at the time the Task is scheduled, then the Task will be scheduled elsewhere. */ affinityId: string; } /** * @summary Information about the execution of a Task. */ export interface TaskExecutionInformation { /** * @summary The time at which the Task started running. * @description 'Running' corresponds to the running state, so if the Task specifies resource * files or Packages, then the start time reflects the time at which the Task started downloading * or deploying these. If the Task has been restarted or retried, this is the most recent time at * which the Task started running. This property is present only for Tasks that are in the * running or completed state. */ startTime?: Date; /** * @summary The time at which the Task completed. * @description This property is set only if the Task is in the Completed state. */ endTime?: Date; /** * @summary The exit code of the program specified on the Task command line. * @description This property is set only if the Task is in the completed state. In general, the * exit code for a process reflects the specific convention implemented by the application * developer for that process. If you use the exit code value to make decisions in your code, be * sure that you know the exit code convention used by the application process. However, if the * Batch service terminates the Task (due to timeout, or user termination via the API) you may * see an operating system-defined exit code. */ exitCode?: number; /** * @summary Information about the container under which the Task is executing. * @description This property is set only if the Task runs in a container context. */ containerInfo?: TaskContainerExecutionInformation; /** * @summary Information describing the Task failure, if any. * @description This property is set only if the Task is in the completed state and encountered a * failure. */ failureInfo?: TaskFailureInformation; /** * @summary The number of times the Task has been retried by the Batch service. * @description Task application failures (non-zero exit code) are retried, pre-processing errors * (the Task could not be run) and file upload errors are not retried. The Batch service will * retry the Task up to the limit specified by the constraints. */ retryCount: number; /** * @summary The most recent time at which a retry of the Task started running. * @description 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. */ lastRetryTime?: Date; /** * @summary The number of times the Task has been requeued by the Batch service as the result of * a user request. * @description When the user removes Compute Nodes from a Pool (by resizing/shrinking the pool) * or when the Job is being disabled, the user can specify that running Tasks on the Compute * Nodes be requeued for execution. This count tracks how many times the Task has been requeued * for these reasons. */ requeueCount: number; /** * @summary The most recent time at which the Task has been requeued by the Batch service as the * result of a user request. * @description This property is set only if the requeueCount is nonzero. */ lastRequeueTime?: Date; /** * @summary The result of the Task execution. * @description If the value is 'failed', then the details of the failure can be found in the * failureInfo property. Possible values include: 'success', 'failure' */ result?: string; } /** * @summary Information about the Compute Node on which a Task ran. */ export interface ComputeNodeInformation { /** * @summary An identifier for the Node on which the Task ran, which can be passed when adding a * Task to request that the Task be scheduled on this Compute Node. */ affinityId?: string; /** * @summary The URL of the Compute Node on which the Task ran. */ nodeUrl?: string; /** * @summary The ID of the Pool on which the Task ran. */ poolId?: string; /** * @summary The ID of the Compute Node on which the Task ran. */ nodeId?: string; /** * @summary The root directory of the Task on the Compute Node. */ taskRootDirectory?: string; /** * @summary The URL to the root directory of the Task on the Compute Node. */ taskRootDirectoryUrl?: string; } /** * @summary Information about the Compute Node agent. * @description The Batch Compute Node agent is a program that runs on each Compute Node in the * Pool and provides Batch capability on the Compute Node. */ export interface NodeAgentInformation { /** * @summary The version of the Batch Compute Node agent running on the Compute Node. * @description This version number can be checked against the Compute Node agent release notes * located at https://github.com/Azure/Batch/blob/master/changelogs/nodeagent/CHANGELOG.md. */ version: string; /** * @summary The time when the Compute Node agent was updated on the Compute Node. * @description This is the most recent time that the Compute Node agent was updated to a new * version. */ lastUpdateTime: Date; } /** * @summary Settings which specify how to run a multi-instance Task. * @description Multi-instance Tasks are commonly used to support MPI Tasks. In the MPI case, if * any of the subtasks fail (for example due to exiting with a non-zero exit code) the entire * multi-instance Task fails. The multi-instance Task is then terminated and retried, up to its * retry limit. */ export interface MultiInstanceSettings { /** * @summary The number of Compute Nodes required by the Task. * @description If omitted, the default is 1. */ numberOfInstances?: number; /** * @summary The command line to run on all the Compute Nodes to enable them to coordinate when * the primary runs the main Task command. * @description A typical coordination command line launches a background service and verifies * that the service is ready to process inter-node messages. */ coordinationCommandLine: string; /** * @summary A list of files that the Batch service will download before running the coordination * command line. * @description The difference between common resource files and Task resource files is that * common resource files are downloaded for all subtasks including the primary, whereas Task * resource files are downloaded only for the primary. Also note that these resource files are * not downloaded to the Task working directory, but instead are downloaded to the Task root * directory (one directory above the working directory). There is a maximum size for the list * of resource files. When the max size is exceeded, the request will fail and the response * error code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must * be reduced in size. This can be achieved using .zip files, Application Packages, or Docker * Containers. */ commonResourceFiles?: ResourceFile[]; } /** * @summary Resource usage statistics for a Task. */ export interface TaskStatistics { /** * @summary The URL of the statistics. */ url: string; /** * @summary The start time of the time range covered by the statistics. */ startTime: Date; /** * @summary The time at which the statistics were last updated. All statistics are limited to the * range between startTime and lastUpdateTime. */ lastUpdateTime: Date; /** * @summary The total user mode CPU time (summed across all cores and all Compute Nodes) consumed * by the Task. */ userCPUTime: moment.Duration; /** * @summary The total kernel mode CPU time (summed across all cores and all Compute Nodes) * consumed by the Task. */ kernelCPUTime: moment.Duration; /** * @summary The total wall clock time of the Task. * @description The wall clock time is the elapsed time from when the Task started running on a * Compute Node to when it finished (or to the last time the statistics were updated, if the Task * had not finished by then). If the Task was retried, this includes the wall clock time of all * the Task retries. */ wallClockTime: moment.Duration; /** * @summary The total number of disk read operations made by the Task. */ readIOps: number; /** * @summary The total number of disk write operations made by the Task. */ writeIOps: number; /** * @summary The total gibibytes read from disk by the Task. */ readIOGiB: number; /** * @summary The total gibibytes written to disk by the Task. */ writeIOGiB: number; /** * @summary The total wait time of the Task. The wait time for a Task is defined as the elapsed * time between the creation of the Task and the start of Task execution. (If the Task is retried * due to failures, the wait time is the time to the most recent Task execution.) */ waitTime: moment.Duration; } /** * @summary A range of Task IDs that a Task can depend on. All Tasks with IDs in the range must * complete successfully before the dependent Task can be scheduled. * @description The start and end of the range are inclusive. For example, if a range has start 9 * and end 12, then it represents Tasks '9', '10', '11' and '12'. */ export interface TaskIdRange { /** * @summary The first Task ID in the range. */ start: number; /** * @summary The last Task ID in the range. */ end: number; } /** * @summary Specifies any dependencies of a Task. Any Task that is explicitly specified or within a * dependency range must complete before the dependant Task will be scheduled. */ export interface TaskDependencies { /** * @summary The list of Task IDs that this Task depends on. All Tasks in this list must complete * successfully before the dependent Task can be scheduled. * @description The taskIds collection is limited to 64000 characters total (i.e. the combined * length of all Task IDs). If the taskIds collection exceeds the maximum length, the Add Task * request fails with error code TaskDependencyListTooLong. In this case consider using Task ID * ranges instead. */ taskIds?: string[]; /** * @summary The list of Task ID ranges that this Task depends on. All Tasks in all ranges must * complete successfully before the dependent Task can be scheduled. */ taskIdRanges?: TaskIdRange[]; } /** * @summary An Azure Batch Task. * @description Batch will retry Tasks when a recovery operation is triggered on a Node. Examples * of recovery operations include (but are not limited to) when an unhealthy Node is rebooted or a * Compute Node disappeared due to host failure. Retries due to recovery operations are independent * of and are not counted against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an * internal retry due to a recovery operation may occur. Because of this, all Tasks should be * idempotent. This means Tasks need to tolerate being interrupted and restarted without causing * any corruption or duplicate data. The best practice for long running Tasks is to use some form * of checkpointing. */ export interface CloudTask { /** * @summary A string that uniquely identifies the Task within the Job. * @description The ID can contain any combination of alphanumeric characters including hyphens * and underscores, and cannot contain more than 64 characters. */ id?: string; /** * @summary A display name for the Task. * @description The display name need not be unique and can contain any Unicode characters up to * a maximum length of 1024. */ displayName?: string; /** * @summary The URL of the Task. */ url?: string; /** * @summary The ETag of the Task. * @description This is an opaque string. You can use it to detect whether the Task has changed * between requests. In particular, you can be pass the ETag when updating a Task to specify that * your changes should take effect only if nobody else has modified the Task in the meantime. */ eTag?: string; /** * @summary The last modified time of the Task. */ lastModified?: Date; /** * @summary The creation time of the Task. */ creationTime?: Date; /** * How the Batch service should respond when the Task completes. */ exitConditions?: ExitConditions; /** * @summary The current state of the Task. * @description Possible values include: 'active', 'preparing', 'running', 'completed' */ state?: string; /** * @summary The time at which the Task entered its current state. */ stateTransitionTime?: Date; /** * @summary The previous state of the Task. * @description This property is not set if the Task is in its initial Active state. Possible * values include: 'active', 'preparing', 'running', 'completed' */ previousState?: string; /** * @summary The time at which the Task entered its previous state. * @description This property is not set if the Task is in its initial Active state. */ previousStateTransitionTime?: Date; /** * @summary The command line of the Task. * @description 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). */ commandLine?: string; /** * @summary The settings for the container under which the Task runs. * @description 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. */ containerSettings?: TaskContainerSettings; /** * @summary A list of files that the Batch service will download to the Compute Node before * running the command line. * @description For multi-instance Tasks, the resource files will only be downloaded to the * Compute Node on which the primary Task is executed. There is a maximum size for the list of * resource files. When the max size is exceeded, the request will fail and the response error * code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be * reduced in size. This can be achieved using .zip files, Application Packages, or Docker * Containers. */ resourceFiles?: ResourceFile[]; /** * @summary A list of files that the Batch service will upload from the Compute Node after * running the command line. * @description For multi-instance Tasks, the files will only be uploaded from the Compute Node * on which the primary Task is executed. */ outputFiles?: OutputFile[]; /** * @summary A list of environment variable settings for the Task. */ environmentSettings?: EnvironmentSetting[]; /** * @summary A locality hint that can be used by the Batch service to select a Compute Node on * which to start the new Task. */ affinityInfo?: AffinityInformation; /** * @summary The execution constraints that apply to this Task. */ constraints?: TaskConstraints; /** * @summary The user identity under which the Task runs. * @description If omitted, the Task runs as a non-administrative user unique to the Task. */ userIdentity?: UserIdentity; /** * @summary Information about the execution of the Task. */ executionInfo?: TaskExecutionInformation; /** * @summary Information about the Compute Node on which the Task ran. */ nodeInfo?: ComputeNodeInformation; /** * @summary An object that indicates that the Task is a multi-instance Task, and contains * information about how to run the multi-instance Task. */ multiInstanceSettings?: MultiInstanceSettings; /** * @summary Resource usage statistics for the Task. */ stats?: TaskStatistics; /** * @summary The Tasks that this Task depends on. * @description This Task will not be scheduled until all Tasks that it depends on have completed * successfully. If any of those Tasks fail and exhaust their retry counts, this Task will never * be scheduled. */ dependsOn?: TaskDependencies; /** * @summary A list of Packages that the Batch service will deploy to the Compute Node before * running the command line. * @description Application packages are downloaded and deployed to a shared directory, not the * Task working directory. Therefore, if a referenced package is already on the Node, and is up * to date, then it is not re-downloaded; the existing copy on the Compute Node is used. If a * referenced Package cannot be installed, for example because the package has been deleted or * because download failed, the Task fails. */ applicationPackageReferences?: ApplicationPackageReference[]; /** * @summary The settings for an authentication token that the Task can use to perform Batch * service operations. * @description If this property is set, the Batch service provides the Task with an * authentication token which can be used to authenticate Batch service operations without * requiring an Account access key. The token is provided via the AZ_BATCH_AUTHENTICATION_TOKEN * environment variable. The operations that the Task can carry out using the token depend on the * settings. For example, a Task can request Job permissions in order to add other Tasks to the * Job, or check the status of the Job or of other Tasks under the Job. */ authenticationTokenSettings?: AuthenticationTokenSettings; } /** * @summary An Azure Batch Task to add. * @description Batch will retry Tasks when a recovery operation is triggered on a Node. Examples * of recovery operations include (but are not limited to) when an unhealthy Node is rebooted or a * Compute Node disappeared due to host failure. Retries due to recovery operations are independent * of and are not counted against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an * internal retry due to a recovery operation may occur. Because of this, all Tasks should be * idempotent. This means Tasks need to tolerate being interrupted and restarted without causing * any corruption or duplicate data. The best practice for long running Tasks is to use some form * of checkpointing. */ export interface TaskAddParameter { /** * @summary A string that uniquely identifies the Task within the Job. * @description The ID can contain any combination of alphanumeric characters including hyphens * and underscores, and cannot contain more than 64 characters. The ID is case-preserving and * case-insensitive (that is, you may not have two IDs within a Job that differ only by case). */ id: string; /** * @summary A display name for the Task. * @description The display name need not be unique and can contain any Unicode characters up to * a maximum length of 1024. */ displayName?: string; /** * @summary The command line of the Task. * @description 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). */ commandLine: string; /** * @summary The settings for the container under which the Task runs. * @description 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. */ containerSettings?: TaskContainerSettings; /** * How the Batch service should respond when the Task completes. */ exitConditions?: ExitConditions; /** * @summary A list of files that the Batch service will download to the Compute Node before * running the command line. * @description For multi-instance Tasks, the resource files will only be downloaded to the * Compute Node on which the primary Task is executed. There is a maximum size for the list of * resource files. When the max size is exceeded, the request will fail and the response error * code will be RequestEntityTooLarge. If this occurs, the collection of ResourceFiles must be * reduced in size. This can be achieved using .zip files, Application Packages, or Docker * Containers. */ resourceFiles?: ResourceFile[]; /** * @summary A list of files that the Batch service will upload from the Compute Node after * running the command line. * @description For multi-instance Tasks, the files will only be uploaded from the Compute Node * on which the primary Task is executed. */ outputFiles?: OutputFile[]; /** * @summary A list of environment variable settings for the Task. */ environmentSettings?: EnvironmentSetting[]; /** * @summary A locality hint that can be used by the Batch service to select a Compute Node on * which to start the new Task. */ affinityInfo?: AffinityInformation; /** * @summary The execution constraints that apply to this Task. * @description If you do not specify constraints, the maxTaskRetryCount is the maxTaskRetryCount * specified for the Job, the maxWallClockTime is infinite, and the retentionTime is 7 days. */ constraints?: TaskConstraints; /** * @summary The user identity under which the Task runs. * @description If omitted, the Task runs as a non-administrative user unique to the Task. */ userIdentity?: UserIdentity; /** * @summary An object that indicates that the Task is a multi-instance Task, and contains * information about how to run the multi-instance Task. */ multiInstanceSettings?: MultiInstanceSettings; /** * @summary The Tasks that this Task depends on. * @description This Task will not be scheduled until all Tasks that it depends on have completed * successfully. If any of those Tasks fail and exhaust their retry counts, this Task will never * be scheduled. If the Job does not have usesTaskDependencies set to true, and this element is * present, the request fails with error code TaskDependenciesNotSpecifiedOnJob. */ dependsOn?: TaskDependencies; /** * @summary A list of Packages that the Batch service will deploy to the Compute Node before * running the command line. * @description Application packages are downloaded and deployed to a shared directory, not the * Task working directory. Therefore, if a referenced package is already on the Node, and is up * to date, then it is not re-downloaded; the existing copy on the Compute Node is used. If a * referenced Package cannot be installed, for example because the package has been deleted or * because download failed, the Task fails. */ applicationPackageReferences?: ApplicationPackageReference[]; /** * @summary The settings for an authentication token that the Task can use to perform Batch * service operations. * @description If this property is set, the Batch service provides the Task with an * authentication token which can be used to authenticate Batch service operations without * requiring an Account access key. The token is provided via the AZ_BATCH_AUTHENTICATION_TOKEN * environment variable. The operations that the Task can carry out using the token depend on the * settings. For example, a Task can request Job permissions in order to add other Tasks to the * Job, or check the status of the Job or of other Tasks under the Job. */ authenticationTokenSettings?: AuthenticationTokenSettings; } /** * @summary A collection of Azure Batch Tasks to add. */ export interface TaskAddCollectionParameter { /** * @summary The collection of Tasks to add. The maximum count of Tasks is 100. * @description The total serialized size of this collection must be less than 1MB. If it is * greater than 1MB (for example if each Task has 100's of resource files or environment * variables), the request will fail with code 'RequestBodyTooLarge' and should be retried again * with fewer Tasks. */ value: TaskAddParameter[]; } /** * @summary An error message received in an Azure Batch error response. */ export interface ErrorMessage { /** * @summary The language code of the error message */ lang?: string; /** * @summary The text of the message. */ value?: string; } /** * @summary An item of additional information included in an Azure Batch error response. */ export interface BatchErrorDetail { /** * @summary An identifier specifying the meaning of the Value property. */ key?: string; /** * @summary The additional information included with the error response. */ value?: string; } /** * @summary An error response received from the Azure Batch service. */ export interface BatchError { /** * @summary An identifier for the error. Codes are invariant and are intended to be consumed * programmatically. */ code?: string; /** * @summary A message describing the error, intended to be suitable for display in a user * interface. */ message?: ErrorMessage; /** * @summary A collection of key-value pairs containing additional details about the error. */ values?: BatchErrorDetail[]; } /** * @summary Result for a single Task added as part of an add Task collection operation. */ export interface TaskAddResult { /** * @summary The status of the add Task request. * @description Possible values include: 'success', 'clientError', 'serverError' */ status: string; /** * @summary The ID of the Task for which this is the result. */ taskId: string; /** * @summary The ETag of the Task, if the Task was successfully added. * @description You can use this to detect whether the Task has changed between requests. In * particular, you can be pass the ETag with an Update Task request to specify that your changes * should take effect only if nobody else has modified the Job in the meantime. */ eTag?: string; /** * @summary The last modified time of the Task. */ lastModified?: Date; /** * @summary The URL of the Task, if the Task was successfully added. */ location?: string; /** * @summary The error encountered while attempting to add the Task. */ error?: BatchError; } /** * @summary The result of adding a collection of Tasks to a Job. */ export interface TaskAddCollectionResult { /** * @summary The results of the add Task collection operation. */ value?: TaskAddResult[]; } /** * @summary Information about an Azure Batch subtask. */ export interface SubtaskInformation { /** * @summary The ID of the subtask. */ id?: number; /** * @summary Information about the Compute Node on which the subtask ran. */ nodeInfo?: ComputeNodeInformation; /** * @summary The time at which the subtask started running. If the subtask has been restarted or * retried, this is the most recent time at which the subtask started running. */ startTime?: Date; /** * @summary The time at which the subtask completed. * @description This property is set only if the subtask is in the Completed state. */ endTime?: Date; /** * @summary The exit code of the program specified on the subtask command line. * @description This property is set only if the subtask is in the completed state. In general, * the exit code for a process reflects the specific convention implemented by the application * developer for that process. If you use the exit code value to make decisions in your code, be * sure that you know the exit code convention used by the application process. However, if the * Batch service terminates the subtask (due to timeout, or user termination via the API) you may * see an operating system-defined exit code. */ exitCode?: number; /** * @summary Information about the container under which the Task is executing. * @description This property is set only if the Task runs in a container context. */ containerInfo?: TaskContainerExecutionInformation; /** * @summary Information describing the Task failure, if any. * @description This property is set only if the Task is in the completed state and encountered a * failure. */ failureInfo?: TaskFailureInformation; /** * @summary The current state of the subtask. * @description Possible values include: 'preparing', 'running', 'completed' */ state?: string; /** * @summary The time at which the subtask entered its current state. */ stateTransitionTime?: Date; /** * @summary The previous state of the subtask. * @description This property is not set if the subtask is in its initial running state. Possible * values include: 'preparing', 'running', 'completed' */ previousState?: string; /** * @summary The time at which the subtask entered its previous state. * @description This property is not set if the subtask is in its initial running state. */ previousStateTransitionTime?: Date; /** * @summary The result of the Task execution. * @description If the value is 'failed', then the details of the failure can be found in the * failureInfo property. Possible values include: 'success', 'failure' */ result?: string; } /** * @summary The result of listing the subtasks of a Task. */ export interface CloudTaskListSubtasksResult { /** * @summary The list of subtasks. */ value?: SubtaskInformation[]; } /** * @summary Information about a Task running on a Compute Node. */ export interface TaskInformation { /** * @summary The URL of the Task. */ taskUrl?: string; /** * @summary The ID of the Job to which the Task belongs. */ jobId?: string; /** * @summary The ID of the Task. */ taskId?: string; /** * @summary The ID of the subtask if the Task is a multi-instance Task. */ subtaskId?: number; /** * @summary The current state of the Task. * @description Possible values include: 'active', 'preparing', 'running', 'completed' */ taskState: string; /** * @summary Information about the execution of the Task. */ executionInfo?: TaskExecutionInformation; } /** * @summary Information about a StartTask running on a Compute Node. */ export interface StartTaskInformation { /** * @summary The state of the StartTask on the Compute Node. * @description Possible values include: 'running', 'completed' */ state: string; /** * @summary The time at which the StartTask started running. * @description 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). */ startTime: Date; /** * @summary The time at which the StartTask stopped running. * @description This is the end time of the most recent run of the StartTask, if that run has * completed (even if that run failed and a retry is pending). This element is not present if the * StartTask is currently running. */ endTime?: Date; /** * @summary The exit code of the program specified on the StartTask command line. * @description This property is set only if the StartTask is in the completed state. In general, * the exit code for a process reflects the specific convention implemented by the application * developer for that process. If you use the exit code value to make decisions in your code, be * sure that you know the exit code convention used by the application process. However, if the * Batch service terminates the StartTask (due to timeout, or user termination via the API) you * may see an operating system-defined exit code. */ exitCode?: number; /** * @summary Information about the container under which the Task is executing. * @description This property is set only if the Task runs in a container context. */ containerInfo?: TaskContainerExecutionInformation; /** * @summary Information describing the Task failure, if any. * @description This property is set only if the Task is in the completed state and encountered a * failure. */ failureInfo?: TaskFailureInformation; /** * @summary The number of times the Task has been retried by the Batch service. * @description Task application failures (non-zero exit code) are retried, pre-processing errors * (the Task could not be run) and file upload errors are not retried. The Batch service will * retry the Task up to the limit specified by the constraints. */ retryCount: number; /** * @summary The most recent time at which a retry of the Task started running. * @description 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. */ lastRetryTime?: Date; /** * @summary The result of the Task execution. * @description If the value is 'failed', then the details of the failure can be found in the * failureInfo property. Possible values include: 'success', 'failure' */ result?: string; } /** * @summary An error encountered by a Compute Node. */ export interface ComputeNodeError { /** * @summary An identifier for the Compute Node error. Codes are invariant and are intended to be * consumed programmatically. */ code?: string; /** * @summary A message describing the Compute Node error, intended to be suitable for display in a * user interface. */ message?: string; /** * @summary The list of additional error details related to the Compute Node error. */ errorDetails?: NameValuePair[]; } /** * @summary An inbound endpoint on a Compute Node. */ export interface InboundEndpoint { /** * @summary The name of the endpoint. */ name: string; /** * @summary The protocol of the endpoint. * @description Possible values include: 'tcp', 'udp' */ protocol: string; /** * @summary The public IP address of the Compute Node. */ publicIPAddress: string; /** * @summary The public fully qualified domain name for the Compute Node. */ publicFQDN: string; /** * @summary The public port number of the endpoint. */ frontendPort: number; /** * @summary The backend port number of the endpoint. */ backendPort: number; } /** * @summary The endpoint configuration for the Compute Node. */ export interface ComputeNodeEndpointConfiguration { /** * @summary The list of inbound endpoints that are accessible on the Compute Node. */ inboundEndpoints: InboundEndpoint[]; } /** * @summary A Compute Node in the Batch service. */ export interface ComputeNode { /** * @summary The ID of the Compute Node. * @description Every Compute Node that is added to a Pool is assigned a unique ID. Whenever a * Compute Node is removed from a Pool, all of its local files are deleted, and the ID is * reclaimed and could be reused for new Compute Nodes. */ id?: string; /** * @summary The URL of the Compute Node. */ url?: string; /** * @summary The current state of the Compute Node. * @description The 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. Possible values include: 'idle', 'rebooting', 'reimaging', 'running', 'unusable', * 'creating', 'starting', 'waitingForStartTask', 'startTaskFailed', 'unknown', 'leavingPool', * 'offline', 'preempted' */ state?: string; /** * @summary Whether the Compute Node is available for Task scheduling. * @description Possible values include: 'enabled', 'disabled' */ schedulingState?: string; /** * @summary The time at which the Compute Node entered its current state. */ stateTransitionTime?: Date; /** * @summary The last time at which the Compute Node was started. * @description This property may not be present if the Compute Node state is unusable. */ lastBootTime?: Date; /** * @summary The time at which this Compute Node was allocated to the Pool. * @description This is the time when the Compute Node was initially allocated and doesn't change * once set. It is not updated when the Compute Node is service healed or preempted. */ allocationTime?: Date; /** * @summary The IP address that other Nodes can use to communicate with this Compute Node. * @description Every Compute Node that is added to a Pool is assigned a unique IP address. * Whenever a Compute Node is removed from a Pool, all of its local files are deleted, and the IP * address is reclaimed and could be reused for new Compute Nodes. */ ipAddress?: string; /** * @summary An identifier which can be passed when adding a Task to request that the Task be * scheduled on this Compute Node. * @description Note that this is just a soft affinity. If the target Compute Node is busy or * unavailable at the time the Task is scheduled, then the Task will be scheduled elsewhere. */ affinityId?: string; /** * @summary The size of the virtual machine hosting the Compute Node. * @description 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). */ vmSize?: string; /** * @summary The total number of Job Tasks completed on the Compute Node. This includes Job * Manager Tasks and normal Tasks, but not Job Preparation, Job Release or Start Tasks. */ totalTasksRun?: number; /** * @summary The total number of currently running Job Tasks on the Compute Node. This includes * Job Manager Tasks and normal Tasks, but not Job Preparation, Job Release or Start Tasks. */ runningTasksCount?: number; /** * @summary The total number of Job Tasks which completed successfully (with exitCode 0) on the * Compute Node. This includes Job Manager Tasks and normal Tasks, but not Job Preparation, Job * Release or Start Tasks. */ totalTasksSucceeded?: number; /** * @summary A list of Tasks whose state has recently changed. * @description This property is present only if at least one Task has run on this Compute Node * since it was assigned to the Pool. */ recentTasks?: TaskInformation[]; /** * @summary The Task specified to run on the Compute Node as it joins the Pool. */ startTask?: StartTask; /** * @summary Runtime information about the execution of the StartTask on the Compute Node. */ startTaskInfo?: StartTaskInformation; /** * @summary The list of Certificates installed on the Compute Node. * @description For Windows Nodes, the Batch service installs the Certificates to the specified * Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a * directory inside the Task working directory and an environment variable * AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates * with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory * (e.g., /home/{user-name}/certs) and Certificates are placed in that directory. */ certificateReferences?: CertificateReference[]; /** * @summary The list of errors that are currently being encountered by the Compute Node. */ errors?: ComputeNodeError[]; /** * @summary Whether this Compute Node is a dedicated Compute Node. If false, the Compute Node is * a low-priority Compute Node. */ isDedicated?: boolean; /** * @summary The endpoint configuration for the Compute Node. */ endpointConfiguration?: ComputeNodeEndpointConfiguration; /** * @summary Information about the Compute Node agent version and the time the Compute Node * upgraded to a new version. */ nodeAgentInfo?: NodeAgentInformation; } /** * @summary A user Account for RDP or SSH access on a Compute Node. */ export interface ComputeNodeUser { /** * @summary The user name of the Account. */ name: string; /** * @summary Whether the Account should be an administrator on the Compute Node. * @description The default value is false. */ isAdmin?: boolean; /** * @summary The time at which the Account should expire. * @description If omitted, the default is 1 day from the current time. For Linux Compute Nodes, * the expiryTime has a precision up to a day. */ expiryTime?: Date; /** * @summary The password of the Account. * @description The password is required for Windows Compute Nodes (those created with * 'cloudServiceConfiguration', or created with 'virtualMachineConfiguration' using a Windows * Image reference). For Linux Compute Nodes, the password can optionally be specified along with * the sshPublicKey property. */ password?: string; /** * @summary The SSH public key that can be used for remote login to the Compute Node. * @description 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). */ sshPublicKey?: string; } /** * @summary The remote login settings for a Compute Node. */ export interface ComputeNodeGetRemoteLoginSettingsResult { /** * @summary The IP address used for remote login to the Compute Node. */ remoteLoginIPAddress: string; /** * @summary The port used for remote login to the Compute Node. */ remoteLoginPort: number; } /** * @summary The set of changes to be made to a Job Schedule. */ export interface JobSchedulePatchParameter { /** * @summary The schedule according to which Jobs will be created. * @description If you do not specify this element, the existing schedule is left unchanged. */ schedule?: Schedule; /** * @summary The details of the Jobs to be created on this schedule. * @description Updates affect only Jobs that are started after the update has taken place. Any * currently active Job continues with the older specification. */ jobSpecification?: JobSpecification; /** * @summary A list of name-value pairs associated with the Job Schedule as metadata. * @description If you do not specify this element, existing metadata is left unchanged. */ metadata?: MetadataItem[]; } /** * @summary The set of changes to be made to a Job Schedule. */ export interface JobScheduleUpdateParameter { /** * @summary The schedule according to which Jobs will be created. * @description If you do not specify this element, it is equivalent to passing the default * schedule: that is, a single Job scheduled to run immediately. */ schedule: Schedule; /** * @summary Details of the Jobs to be created on this schedule. * @description Updates affect only Jobs that are started after the update has taken place. Any * currently active Job continues with the older specification. */ jobSpecification: JobSpecification; /** * @summary A list of name-value pairs associated with the Job Schedule as metadata. * @description If you do not specify this element, it takes the default value of an empty list; * in effect, any existing metadata is deleted. */ metadata?: MetadataItem[]; } /** * @summary Options when disabling a Job. */ export interface JobDisableParameter { /** * @summary What to do with active Tasks associated with the Job. * @description Possible values include: 'requeue', 'terminate', 'wait' */ disableTasks: string; } /** * @summary Options when terminating a Job. */ export interface JobTerminateParameter { /** * @summary The text you want to appear as the Job's TerminateReason. The default is * 'UserTerminate'. */ terminateReason?: string; } /** * @summary The set of changes to be made to a Job. */ export interface JobPatchParameter { /** * @summary The priority of the Job. * @description Priority values can range from -1000 to 1000, with -1000 being the lowest * priority and 1000 being the highest priority. If omitted, the priority of the Job is left * unchanged. */ priority?: number; /** * @summary The action the Batch service should take when all Tasks in the Job are in the * completed state. * @description 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). Possible values include: 'noAction', 'terminateJob' */ onAllTasksComplete?: string; /** * @summary The execution constraints for the Job. * @description If omitted, the existing execution constraints are left unchanged. */ constraints?: JobConstraints; /** * @summary The Pool on which the Batch service runs the Job's Tasks. * @description 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. */ poolInfo?: PoolInformation; /** * @summary A list of name-value pairs associated with the Job as metadata. * @description If omitted, the existing Job metadata is left unchanged. */ metadata?: MetadataItem[]; } /** * @summary The set of changes to be made to a Job. */ export interface JobUpdateParameter { /** * @summary The priority of the Job. * @description Priority values can range from -1000 to 1000, with -1000 being the lowest * priority and 1000 being the highest priority. If omitted, it is set to the default value 0. */ priority?: number; /** * @summary The execution constraints for the Job. * @description If omitted, the constraints are cleared. */ constraints?: JobConstraints; /** * @summary The Pool on which the Batch service runs the Job's Tasks. * @description You may change the Pool for a Job only when the Job is disabled. The Update 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). */ poolInfo: PoolInformation; /** * @summary A list of name-value pairs associated with the Job as metadata. * @description If omitted, it takes the default value of an empty list; in effect, any existing * metadata is deleted. */ metadata?: MetadataItem[]; /** * @summary The action the Batch service should take when all Tasks in the Job are in the * completed state. * @description If omitted, the completion behavior is set to noaction. If the current value is * terminatejob, this is an error because a Job's completion behavior may not be changed from * terminatejob to noaction. 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 and Batch returns status code 400 (Bad Request) and an 'invalid * property value' error response. If you do not specify this element in a PUT request, it is * equivalent to passing noaction. This is an error if the current value is terminatejob. * Possible values include: 'noAction', 'terminateJob' */ onAllTasksComplete?: string; } /** * @summary Options for enabling automatic scaling on a Pool. */ export interface PoolEnableAutoScaleParameter { /** * @summary The formula for the desired number of Compute Nodes in the Pool. * @description 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). */ autoScaleFormula?: string; /** * @summary The time interval at which to automatically adjust the Pool size according to the * autoscale formula. * @description 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. */ autoScaleEvaluationInterval?: moment.Duration; } /** * @summary Options for evaluating an automatic scaling formula on a Pool. */ export interface PoolEvaluateAutoScaleParameter { /** * @summary The formula for the desired number of Compute Nodes in the Pool. * @description 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). */ autoScaleFormula: string; } /** * @summary Options for changing the size of a Pool. */ export interface PoolResizeParameter { /** * @summary The desired number of dedicated Compute Nodes in the Pool. */ targetDedicatedNodes?: number; /** * @summary The desired number of low-priority Compute Nodes in the Pool. */ targetLowPriorityNodes?: number; /** * @summary The timeout for allocation of Nodes to the Pool or removal of Compute Nodes from the * Pool. * @description 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). */ resizeTimeout?: moment.Duration; /** * @summary Determines what to do with a Compute Node and its running task(s) if the Pool size is * decreasing. * @description The default value is requeue. Possible values include: 'requeue', 'terminate', * 'taskCompletion', 'retainedData' */ nodeDeallocationOption?: string; } /** * @summary The set of changes to be made to a Pool. */ export interface PoolUpdatePropertiesParameter { /** * @summary 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. * @description If this element is present, it overwrites any existing StartTask. If omitted, any * existing StartTask is removed from the Pool. */ startTask?: StartTask; /** * @summary A list of Certificates to be installed on each Compute Node in the Pool. * @description This list replaces any existing Certificate references configured on the Pool. If * you specify an empty collection, any existing Certificate references are removed from the * Pool. For Windows Nodes, the Batch service installs the Certificates to the specified * Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a * directory inside the Task working directory and an environment variable * AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates * with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory * (e.g., /home/{user-name}/certs) and Certificates are placed in that directory. */ certificateReferences: CertificateReference[]; /** * @summary The list of Application Packages to be installed on each Compute Node in the Pool. * @description The list replaces any existing Application Package references on the Pool. * Changes to Application Package references affect all new Compute Nodes joining the Pool, but * do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. * There is a maximum of 10 Application Package references on any given Pool. If omitted, or if * you specify an empty collection, any existing Application Packages references are removed from * the Pool. A maximum of 10 references may be specified on a given Pool. */ applicationPackageReferences: ApplicationPackageReference[]; /** * @summary A list of name-value pairs associated with the Pool as metadata. * @description 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. */ metadata: MetadataItem[]; } /** * @summary The set of changes to be made to a Pool. */ export interface PoolPatchParameter { /** * @summary 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. * @description If this element is present, it overwrites any existing StartTask. If omitted, any * existing StartTask is left unchanged. */ startTask?: StartTask; /** * @summary A list of Certificates to be installed on each Compute Node in the Pool. * @description If this element is present, it replaces any existing Certificate references * configured on the Pool. If omitted, any existing Certificate references are left unchanged. * For Windows Nodes, the Batch service installs the Certificates to the specified Certificate * store and location. For Linux Compute Nodes, the Certificates are stored in a directory inside * the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied * to the Task to query for this location. For Certificates with visibility of 'remoteUser', a * 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and * Certificates are placed in that directory. */ certificateReferences?: CertificateReference[]; /** * @summary A list of Packages to be installed on each Compute Node in the Pool. * @description 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. */ applicationPackageReferences?: ApplicationPackageReference[]; /** * @summary A list of name-value pairs associated with the Pool as metadata. * @description 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. */ metadata?: MetadataItem[]; } /** * @summary The set of changes to be made to a Task. */ export interface TaskUpdateParameter { /** * @summary Constraints that apply to this Task. * @description If omitted, the Task is given the default constraints. For multi-instance Tasks, * updating the retention time applies only to the primary Task and not subtasks. */ constraints?: TaskConstraints; } /** * @summary The set of changes to be made to a user Account on a Compute Node. */ export interface NodeUpdateUserParameter { /** * @summary The password of the Account. * @description The password is required for Windows Compute Nodes (those created with * 'cloudServiceConfiguration', or 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. */ password?: string; /** * @summary The time at which the Account should expire. * @description If omitted, the default is 1 day from the current time. For Linux Compute Nodes, * the expiryTime has a precision up to a day. */ expiryTime?: Date; /** * @summary The SSH public key that can be used for remote login to the Compute Node. * @description 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). If omitted, any existing SSH * public key is removed. */ sshPublicKey?: string; } /** * @summary Options for rebooting a Compute Node. */ export interface NodeRebootParameter { /** * @summary When to reboot the Compute Node and what to do with currently running Tasks. * @description The default value is requeue. Possible values include: 'requeue', 'terminate', * 'taskCompletion', 'retainedData' */ nodeRebootOption?: string; } /** * @summary Options for reimaging a Compute Node. */ export interface NodeReimageParameter { /** * @summary When to reimage the Compute Node and what to do with currently running Tasks. * @description The default value is requeue. Possible values include: 'requeue', 'terminate', * 'taskCompletion', 'retainedData' */ nodeReimageOption?: string; } /** * @summary Options for disabling scheduling on a Compute Node. */ export interface NodeDisableSchedulingParameter { /** * @summary What to do with currently running Tasks when disabling Task scheduling on the Compute * Node. * @description The default value is requeue. Possible values include: 'requeue', 'terminate', * 'taskCompletion' */ nodeDisableSchedulingOption?: string; } /** * @summary Options for removing Compute Nodes from a Pool. */ export interface NodeRemoveParameter { /** * @summary A list containing the IDs of the Compute Nodes to be removed from the specified Pool. */ nodeList: string[]; /** * @summary The timeout for removal of Compute Nodes to the Pool. * @description 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). */ resizeTimeout?: moment.Duration; /** * @summary Determines what to do with a Compute Node and its running task(s) after it has been * selected for deallocation. * @description The default value is requeue. Possible values include: 'requeue', 'terminate', * 'taskCompletion', 'retainedData' */ nodeDeallocationOption?: string; } /** * @summary The Azure Batch service log files upload configuration for a Compute Node. */ export interface UploadBatchServiceLogsConfiguration { /** * @summary The URL of the container within Azure Blob Storage to which to upload the Batch * Service log file(s). * @description The URL must include a Shared Access Signature (SAS) granting write permissions * to the container. The SAS duration must allow enough time for the upload to finish. The start * time for SAS is optional and recommended to not be specified. */ containerUrl: string; /** * @summary The start of the time range from which to upload Batch Service log file(s). * @description Any log file containing a log message in the time range will be uploaded. This * means that the operation might retrieve more logs than have been requested since the entire * log file is always uploaded, but the operation should not retrieve fewer logs than have been * requested. */ startTime: Date; /** * @summary The end of the time range from which to upload Batch Service log file(s). * @description Any log file containing a log message in the time range will be uploaded. This * means that the operation might retrieve more logs than have been requested since the entire * log file is always uploaded, but the operation should not retrieve fewer logs than have been * requested. If omitted, the default is to upload all logs available after the startTime. */ endTime?: Date; } /** * @summary The result of uploading Batch service log files from a specific Compute Node. */ export interface UploadBatchServiceLogsResult { /** * @summary The virtual directory within Azure Blob Storage container to which the Batch Service * log file(s) will be uploaded. * @description The virtual directory name is part of the blob name for each log file uploaded, * and it is built based poolId, nodeId and a unique identifier. */ virtualDirectoryName: string; /** * @summary The number of log files which will be uploaded. */ numberOfFilesUploaded: number; } /** * @summary The number of Compute Nodes in each Compute Node state. */ export interface NodeCounts { /** * @summary The number of Compute Nodes in the creating state. */ creating: number; /** * @summary The number of Compute Nodes in the idle state. */ idle: number; /** * @summary The number of Compute Nodes in the offline state. */ offline: number; /** * @summary The number of Compute Nodes in the preempted state. */ preempted: number; /** * @summary The count of Compute Nodes in the rebooting state. */ rebooting: number; /** * @summary The number of Compute Nodes in the reimaging state. */ reimaging: number; /** * @summary The number of Compute Nodes in the running state. */ running: number; /** * @summary The number of Compute Nodes in the starting state. */ starting: number; /** * @summary The number of Compute Nodes in the startTaskFailed state. */ startTaskFailed: number; /** * @summary The number of Compute Nodes in the leavingPool state. */ leavingPool: number; /** * @summary The number of Compute Nodes in the unknown state. */ unknown: number; /** * @summary The number of Compute Nodes in the unusable state. */ unusable: number; /** * @summary The number of Compute Nodes in the waitingForStartTask state. */ waitingForStartTask: number; /** * @summary The total number of Compute Nodes. */ total: number; } /** * @summary The number of Compute Nodes in each state for a Pool. */ export interface PoolNodeCounts { /** * @summary The ID of the Pool. */ poolId: string; /** * @summary The number of dedicated Compute Nodes in each state. */ dedicated?: NodeCounts; /** * @summary The number of low priority Compute Nodes in each state. */ lowPriority?: NodeCounts; } /** * Additional parameters for list operation. */ export interface ApplicationListOptions { /** * The maximum number of items to return in the response. A maximum of 1000 applications can be * returned. */ maxResults?: number; /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for get operation. */ export interface ApplicationGetOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for listUsageMetrics operation. */ export interface PoolListUsageMetricsOptions { /** * The earliest time from which to include metrics. This must be at least two and a half hours * before the current time. If not specified this defaults to the start time of the last * aggregation interval currently available. */ startTime?: Date; /** * The latest time from which to include metrics. This must be at least two hours before the * current time. If not specified this defaults to the end time of the last aggregation interval * currently available. */ endTime?: Date; /** * An OData $filter clause. For more information on constructing this filter, see * https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-account-usage-metrics. */ filter?: string; /** * The maximum number of items to return in the response. A maximum of 1000 results will be * returned. */ maxResults?: number; /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for getAllLifetimeStatistics operation. */ export interface PoolGetAllLifetimeStatisticsOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for add operation. */ export interface PoolAddOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for list operation. */ export interface PoolListOptions { /** * An OData $filter clause. For more information on constructing this filter, see * https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-pools. */ filter?: string; /** * An OData $select clause. */ select?: string; /** * An OData $expand clause. */ expand?: string; /** * The maximum number of items to return in the response. A maximum of 1000 Pools can be * returned. */ maxResults?: number; /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for deleteMethod operation. */ export interface PoolDeleteMethodOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service exactly matches the value * specified by the client. */ ifMatch?: string; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service does not match the value * specified by the client. */ ifNoneMatch?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for exists operation. */ export interface PoolExistsOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service exactly matches the value * specified by the client. */ ifMatch?: string; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service does not match the value * specified by the client. */ ifNoneMatch?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for get operation. */ export interface PoolGetOptions { /** * An OData $select clause. */ select?: string; /** * An OData $expand clause. */ expand?: string; /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service exactly matches the value * specified by the client. */ ifMatch?: string; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service does not match the value * specified by the client. */ ifNoneMatch?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for patch operation. */ export interface PoolPatchOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service exactly matches the value * specified by the client. */ ifMatch?: string; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service does not match the value * specified by the client. */ ifNoneMatch?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for disableAutoScale operation. */ export interface PoolDisableAutoScaleOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for enableAutoScale operation. */ export interface PoolEnableAutoScaleOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service exactly matches the value * specified by the client. */ ifMatch?: string; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service does not match the value * specified by the client. */ ifNoneMatch?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for evaluateAutoScale operation. */ export interface PoolEvaluateAutoScaleOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for resize operation. */ export interface PoolResizeOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service exactly matches the value * specified by the client. */ ifMatch?: string; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service does not match the value * specified by the client. */ ifNoneMatch?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for stopResize operation. */ export interface PoolStopResizeOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service exactly matches the value * specified by the client. */ ifMatch?: string; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service does not match the value * specified by the client. */ ifNoneMatch?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for updateProperties operation. */ export interface PoolUpdatePropertiesOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for removeNodes operation. */ export interface PoolRemoveNodesOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service exactly matches the value * specified by the client. */ ifMatch?: string; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service does not match the value * specified by the client. */ ifNoneMatch?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for listSupportedImages operation. */ export interface AccountListSupportedImagesOptions { /** * An OData $filter clause. For more information on constructing this filter, see * https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-support-images. */ filter?: string; /** * The maximum number of items to return in the response. A maximum of 1000 results will be * returned. */ maxResults?: number; /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for listPoolNodeCounts operation. */ export interface AccountListPoolNodeCountsOptions { /** * An OData $filter clause. For more information on constructing this filter, see * https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch. */ filter?: string; /** * The maximum number of items to return in the response. */ maxResults?: number; /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for getAllLifetimeStatistics operation. */ export interface JobGetAllLifetimeStatisticsOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for deleteMethod operation. */ export interface JobDeleteMethodOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service exactly matches the value * specified by the client. */ ifMatch?: string; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service does not match the value * specified by the client. */ ifNoneMatch?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for get operation. */ export interface JobGetOptions { /** * An OData $select clause. */ select?: string; /** * An OData $expand clause. */ expand?: string; /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service exactly matches the value * specified by the client. */ ifMatch?: string; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service does not match the value * specified by the client. */ ifNoneMatch?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for patch operation. */ export interface JobPatchOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service exactly matches the value * specified by the client. */ ifMatch?: string; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service does not match the value * specified by the client. */ ifNoneMatch?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for update operation. */ export interface JobUpdateOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service exactly matches the value * specified by the client. */ ifMatch?: string; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service does not match the value * specified by the client. */ ifNoneMatch?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for disable operation. */ export interface JobDisableOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service exactly matches the value * specified by the client. */ ifMatch?: string; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service does not match the value * specified by the client. */ ifNoneMatch?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for enable operation. */ export interface JobEnableOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service exactly matches the value * specified by the client. */ ifMatch?: string; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service does not match the value * specified by the client. */ ifNoneMatch?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for terminate operation. */ export interface JobTerminateOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service exactly matches the value * specified by the client. */ ifMatch?: string; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service does not match the value * specified by the client. */ ifNoneMatch?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for add operation. */ export interface JobAddOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for list operation. */ export interface JobListOptions { /** * An OData $filter clause. For more information on constructing this filter, see * https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-jobs. */ filter?: string; /** * An OData $select clause. */ select?: string; /** * An OData $expand clause. */ expand?: string; /** * The maximum number of items to return in the response. A maximum of 1000 Jobs can be returned. */ maxResults?: number; /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for listFromJobSchedule operation. */ export interface JobListFromJobScheduleOptions { /** * An OData $filter clause. For more information on constructing this filter, see * https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-jobs-in-a-job-schedule. */ filter?: string; /** * An OData $select clause. */ select?: string; /** * An OData $expand clause. */ expand?: string; /** * The maximum number of items to return in the response. A maximum of 1000 Jobs can be returned. */ maxResults?: number; /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for listPreparationAndReleaseTaskStatus operation. */ export interface JobListPreparationAndReleaseTaskStatusOptions { /** * An OData $filter clause. For more information on constructing this filter, see * https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-job-preparation-and-release-status. */ filter?: string; /** * An OData $select clause. */ select?: string; /** * The maximum number of items to return in the response. A maximum of 1000 Tasks can be * returned. */ maxResults?: number; /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for getTaskCounts operation. */ export interface JobGetTaskCountsOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for add operation. */ export interface CertificateAddOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for list operation. */ export interface CertificateListOptions { /** * An OData $filter clause. For more information on constructing this filter, see * https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-certificates. */ filter?: string; /** * An OData $select clause. */ select?: string; /** * The maximum number of items to return in the response. A maximum of 1000 Certificates can be * returned. */ maxResults?: number; /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for cancelDeletion operation. */ export interface CertificateCancelDeletionOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for deleteMethod operation. */ export interface CertificateDeleteMethodOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for get operation. */ export interface CertificateGetOptions { /** * An OData $select clause. */ select?: string; /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for deleteFromTask operation. */ export interface FileDeleteFromTaskOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for getFromTask operation. */ export interface FileGetFromTaskOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * The byte range to be retrieved. The default is to retrieve the entire file. The format is * bytes=startRange-endRange. */ ocpRange?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for getPropertiesFromTask operation. */ export interface FileGetPropertiesFromTaskOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for deleteFromComputeNode operation. */ export interface FileDeleteFromComputeNodeOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for getFromComputeNode operation. */ export interface FileGetFromComputeNodeOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * The byte range to be retrieved. The default is to retrieve the entire file. The format is * bytes=startRange-endRange. */ ocpRange?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for getPropertiesFromComputeNode operation. */ export interface FileGetPropertiesFromComputeNodeOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for listFromTask operation. */ export interface FileListFromTaskOptions { /** * An OData $filter clause. For more information on constructing this filter, see * https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-task-files. */ filter?: string; /** * The maximum number of items to return in the response. A maximum of 1000 files can be * returned. */ maxResults?: number; /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for listFromComputeNode operation. */ export interface FileListFromComputeNodeOptions { /** * An OData $filter clause. For more information on constructing this filter, see * https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-compute-node-files. */ filter?: string; /** * The maximum number of items to return in the response. A maximum of 1000 files can be * returned. */ maxResults?: number; /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for exists operation. */ export interface JobScheduleExistsOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service exactly matches the value * specified by the client. */ ifMatch?: string; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service does not match the value * specified by the client. */ ifNoneMatch?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for deleteMethod operation. */ export interface JobScheduleDeleteMethodOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service exactly matches the value * specified by the client. */ ifMatch?: string; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service does not match the value * specified by the client. */ ifNoneMatch?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for get operation. */ export interface JobScheduleGetOptions { /** * An OData $select clause. */ select?: string; /** * An OData $expand clause. */ expand?: string; /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service exactly matches the value * specified by the client. */ ifMatch?: string; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service does not match the value * specified by the client. */ ifNoneMatch?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for patch operation. */ export interface JobSchedulePatchOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service exactly matches the value * specified by the client. */ ifMatch?: string; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service does not match the value * specified by the client. */ ifNoneMatch?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for update operation. */ export interface JobScheduleUpdateOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service exactly matches the value * specified by the client. */ ifMatch?: string; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service does not match the value * specified by the client. */ ifNoneMatch?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for disable operation. */ export interface JobScheduleDisableOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service exactly matches the value * specified by the client. */ ifMatch?: string; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service does not match the value * specified by the client. */ ifNoneMatch?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for enable operation. */ export interface JobScheduleEnableOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service exactly matches the value * specified by the client. */ ifMatch?: string; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service does not match the value * specified by the client. */ ifNoneMatch?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for terminate operation. */ export interface JobScheduleTerminateOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service exactly matches the value * specified by the client. */ ifMatch?: string; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service does not match the value * specified by the client. */ ifNoneMatch?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for add operation. */ export interface JobScheduleAddOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for list operation. */ export interface JobScheduleListOptions { /** * An OData $filter clause. For more information on constructing this filter, see * https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-job-schedules. */ filter?: string; /** * An OData $select clause. */ select?: string; /** * An OData $expand clause. */ expand?: string; /** * The maximum number of items to return in the response. A maximum of 1000 Job Schedules can be * returned. */ maxResults?: number; /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for add operation. */ export interface TaskAddOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for list operation. */ export interface TaskListOptions { /** * An OData $filter clause. For more information on constructing this filter, see * https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-tasks. */ filter?: string; /** * An OData $select clause. */ select?: string; /** * An OData $expand clause. */ expand?: string; /** * The maximum number of items to return in the response. A maximum of 1000 Tasks can be * returned. */ maxResults?: number; /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for addCollection operation. */ export interface TaskAddCollectionOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for deleteMethod operation. */ export interface TaskDeleteMethodOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service exactly matches the value * specified by the client. */ ifMatch?: string; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service does not match the value * specified by the client. */ ifNoneMatch?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for get operation. */ export interface TaskGetOptions { /** * An OData $select clause. */ select?: string; /** * An OData $expand clause. */ expand?: string; /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service exactly matches the value * specified by the client. */ ifMatch?: string; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service does not match the value * specified by the client. */ ifNoneMatch?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for update operation. */ export interface TaskUpdateOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service exactly matches the value * specified by the client. */ ifMatch?: string; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service does not match the value * specified by the client. */ ifNoneMatch?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for listSubtasks operation. */ export interface TaskListSubtasksOptions { /** * An OData $select clause. */ select?: string; /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for terminate operation. */ export interface TaskTerminateOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service exactly matches the value * specified by the client. */ ifMatch?: string; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service does not match the value * specified by the client. */ ifNoneMatch?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for reactivate operation. */ export interface TaskReactivateOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service exactly matches the value * specified by the client. */ ifMatch?: string; /** * An ETag value associated with the version of the resource known to the client. The operation * will be performed only if the resource's current ETag on the service does not match the value * specified by the client. */ ifNoneMatch?: string; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has been modified since the * specified time. */ ifModifiedSince?: Date; /** * A timestamp indicating the last modified time of the resource known to the client. The * operation will be performed only if the resource on the service has not been modified since * the specified time. */ ifUnmodifiedSince?: Date; } /** * Additional parameters for addUser operation. */ export interface ComputeNodeAddUserOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for deleteUser operation. */ export interface ComputeNodeDeleteUserOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for updateUser operation. */ export interface ComputeNodeUpdateUserOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for get operation. */ export interface ComputeNodeGetOptions { /** * An OData $select clause. */ select?: string; /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for reboot operation. */ export interface ComputeNodeRebootOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for reimage operation. */ export interface ComputeNodeReimageOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for disableScheduling operation. */ export interface ComputeNodeDisableSchedulingOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for enableScheduling operation. */ export interface ComputeNodeEnableSchedulingOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for getRemoteLoginSettings operation. */ export interface ComputeNodeGetRemoteLoginSettingsOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for getRemoteDesktop operation. */ export interface ComputeNodeGetRemoteDesktopOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for uploadBatchServiceLogs operation. */ export interface ComputeNodeUploadBatchServiceLogsOptions { /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for list operation. */ export interface ComputeNodeListOptions { /** * An OData $filter clause. For more information on constructing this filter, see * https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-nodes-in-a-pool. */ filter?: string; /** * An OData $select clause. */ select?: string; /** * The maximum number of items to return in the response. A maximum of 1000 Compute Nodes can be * returned. */ maxResults?: number; /** * The maximum time that the server can spend processing the request, in seconds. The default is * 30 seconds. */ timeout?: number; /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for listNext operation. */ export interface ApplicationListNextOptions { /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for listUsageMetricsNext operation. */ export interface PoolListUsageMetricsNextOptions { /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for listNext operation. */ export interface PoolListNextOptions { /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for listSupportedImagesNext operation. */ export interface AccountListSupportedImagesNextOptions { /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for listPoolNodeCountsNext operation. */ export interface AccountListPoolNodeCountsNextOptions { /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for listNext operation. */ export interface JobListNextOptions { /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for listFromJobScheduleNext operation. */ export interface JobListFromJobScheduleNextOptions { /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for listPreparationAndReleaseTaskStatusNext operation. */ export interface JobListPreparationAndReleaseTaskStatusNextOptions { /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for listNext operation. */ export interface CertificateListNextOptions { /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for listFromTaskNext operation. */ export interface FileListFromTaskNextOptions { /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for listFromComputeNodeNext operation. */ export interface FileListFromComputeNodeNextOptions { /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for listNext operation. */ export interface JobScheduleListNextOptions { /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for listNext operation. */ export interface TaskListNextOptions { /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * Additional parameters for listNext operation. */ export interface ComputeNodeListNextOptions { /** * The caller-generated request identity, in the form of a GUID with no decoration such as curly * braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. */ clientRequestId?: string; /** * Whether the server should return the client-request-id in the response. */ returnClientRequestId?: boolean; /** * The time the request was issued. Client libraries typically set this to the current system * clock time; set it explicitly if you are calling the REST API directly. */ ocpDate?: Date; } /** * @summary The result of listing the applications available in an Account. */ export interface ApplicationListResult extends Array { /** * @summary The URL to get the next set of results. */ odatanextLink?: string; } /** * @summary The result of a listing the usage metrics for an Account. */ export interface PoolListUsageMetricsResult extends Array { /** * @summary The URL to get the next set of results. */ odatanextLink?: string; } /** * @summary The result of listing the Pools in an Account. */ export interface CloudPoolListResult extends Array { /** * @summary The URL to get the next set of results. */ odatanextLink?: string; } /** * @summary The result of listing the supported Virtual Machine Images. */ export interface AccountListSupportedImagesResult extends Array { /** * @summary The URL to get the next set of results. */ odatanextLink?: string; } /** * @summary The result of listing the Compute Node counts in the Account. */ export interface PoolNodeCountsListResult extends Array { /** * @summary The URL to get the next set of results. */ odatanextLink?: string; } /** * @summary The result of listing the Jobs in an Account. */ export interface CloudJobListResult extends Array { /** * @summary The URL to get the next set of results. */ odatanextLink?: string; } /** * @summary The result of listing the status of the Job Preparation and Job Release Tasks for a * Job. */ export interface CloudJobListPreparationAndReleaseTaskStatusResult extends Array { /** * @summary The URL to get the next set of results. */ odatanextLink?: string; } /** * @summary The result of listing the Certificates in the Account. */ export interface CertificateListResult extends Array { /** * @summary The URL to get the next set of results. */ odatanextLink?: string; } /** * @summary The result of listing the files on a Compute Node, or the files associated with a Task * on a Compute Node. */ export interface NodeFileListResult extends Array { /** * @summary The URL to get the next set of results. */ odatanextLink?: string; } /** * @summary The result of listing the Job Schedules in an Account. */ export interface CloudJobScheduleListResult extends Array { /** * @summary The URL to get the next set of results. */ odatanextLink?: string; } /** * @summary The result of listing the Tasks in a Job. */ export interface CloudTaskListResult extends Array { /** * @summary The URL to get the next set of results. */ odatanextLink?: string; } /** * @summary The result of listing the Compute Nodes in a Pool. */ export interface ComputeNodeListResult extends Array { /** * @summary The URL to get the next set of results. */ odatanextLink?: string; }