vscode-azure-batch-tools/schema/pool.schema.json

688 строки
26 KiB
JSON
Исходник Постоянная ссылка Обычный вид История

{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "pool",
"description": "An Azure Batch pool",
"type": "object",
"$ref": "#/definitions/PoolAddParameter",
"definitions": {
"PoolAddParameter": {
"properties": {
"id": {
"type": "string",
"title": "A string that uniquely identifies the pool within the account.",
"description": "A string that uniquely identifies the pool within the account."
},
"displayName": {
"type": "string",
"title": "The display name for the pool.",
"description": "The display name for the pool."
},
"vmSize": {
"type": "string",
"title": "The size of virtual machines in the pool. All virtual machines in a pool are the same size.",
"description": "The size of virtual machines in the pool. All virtual machines in a pool are the same size."
},
"cloudServiceConfiguration": {
"$ref": "#/definitions/CloudServiceConfiguration",
"title": "The cloud service configuration for the pool.",
"description": "The cloud service configuration for the pool."
},
"virtualMachineConfiguration": {
"$ref": "#/definitions/VirtualMachineConfiguration",
"title": "The virtual machine configuration for the pool.",
"description": "The virtual machine configuration for the pool."
},
"resizeTimeout": {
"type": "string",
"format": "duration",
"title": "The timeout for allocation of compute nodes to the pool.",
"description": "The timeout for allocation of compute nodes to the pool."
},
"targetDedicatedNodes": {
"type": "integer",
"format": "int32",
"title": "The desired number of dedicated compute nodes in the pool.",
"description": "The desired number of dedicated compute nodes in the pool."
},
"targetLowPriorityNodes": {
"type": "integer",
"format": "int32",
"title": "The desired number of low-priority compute nodes in the pool.",
"description": "The desired number of low-priority compute nodes in the pool."
},
"enableAutoScale": {
"type": "boolean",
"title": "Whether the pool size should automatically adjust over time.",
"description": "Whether the pool size should automatically adjust over time."
},
"autoScaleFormula": {
"type": "string",
"title": "A formula for the desired number of compute nodes in the pool.",
"description": "A formula for the desired number of compute nodes in the pool."
},
"autoScaleEvaluationInterval": {
"type": "string",
"format": "duration",
"title": "The time interval at which to automatically adjust the pool size according to the autoscale formula.",
"description": "The time interval at which to automatically adjust the pool size according to the autoscale formula."
},
"enableInterNodeCommunication": {
"type": "boolean",
"title": "Whether the pool permits direct communication between nodes.",
"description": "Whether the pool permits direct communication between nodes."
},
"networkConfiguration": {
"$ref": "#/definitions/NetworkConfiguration",
"title": "The network configuration for the pool.",
"description": "The network configuration for the pool."
},
"startTask": {
"$ref": "#/definitions/StartTask",
"title": "A task specified to run on each compute node as it joins the pool.",
"description": "A task specified to run on each compute node as it joins the pool."
},
"certificateReferences": {
"type": "array",
"items": {
"$ref": "#/definitions/CertificateReference"
},
"title": "The list of certificates to be installed on each compute node in the pool.",
"description": "The list of certificates to be installed on each compute node in the pool."
},
"applicationPackageReferences": {
"type": "array",
"items": {
"$ref": "#/definitions/ApplicationPackageReference"
},
"title": "The list of application packages to be installed on each compute node in the pool.",
"description": "The list of application packages to be installed on each compute node in the pool."
},
"applicationLicenses": {
"type": "array",
"items": {
"type": "string"
},
"title": "The list of application licenses the Batch service will make available on each compute node in the pool.",
"description": "The list of application licenses the Batch service will make available on each compute node in the pool."
},
"maxTasksPerNode": {
"type": "integer",
"format": "int32",
"title": "The maximum number of tasks that can run concurrently on a single compute node in the pool.",
"description": "The maximum number of tasks that can run concurrently on a single compute node in the pool."
},
"taskSchedulingPolicy": {
"$ref": "#/definitions/TaskSchedulingPolicy",
"title": "How the Batch service distributes tasks between compute nodes in the pool.",
"description": "How the Batch service distributes tasks between compute nodes in the pool."
},
"userAccounts": {
"type": "array",
"items": {
"$ref": "#/definitions/UserAccount"
},
"title": "The list of user accounts to be created on each node in the pool.",
"description": "The list of user accounts to be created on each node in the pool."
},
"metadata": {
"type": "array",
"items": {
"$ref": "#/definitions/MetadataItem"
},
"title": "A list of name-value pairs associated with the pool as metadata.",
"description": "A list of name-value pairs associated with the pool as metadata."
},
"packageReferences": {
"type": "array",
"items": {
"$ref": "#/definitions/PackageReference"
},
"title": "A collection of packages to be added from external package managers to each node in the pool.",
"description": "A collection of packages to be added from external package managers to each node in the pool."
}
},
"required": [
"id",
"vmSize"
],
"title": "A pool in the Azure Batch service to add.",
"oneOf": [
{
"required": [
"cloudServiceConfiguration"
]
},
{
"required": [
"virtualMachineConfiguration"
]
}
],
"dependencies": {
"autoScaleFormula": [
"enableAutoScale"
],
"autoScaleEvaluationInterval": [
"enableAutoScale"
]
}
},
"CloudServiceConfiguration": {
"properties": {
"osFamily": {
"type": "string",
"title": "The Azure Guest OS family to be installed on the virtual machines in the pool.",
"description": "The Azure Guest OS family to be installed on the virtual machines in the pool."
},
"targetOSVersion": {
"type": "string",
"title": "The Azure Guest OS version to be installed on the virtual machines in the pool.",
"description": "The Azure Guest OS version to be installed on the virtual machines in the pool."
},
"currentOSVersion": {
"type": "string",
"title": "The Azure Guest OS Version currently installed on the virtual machines in the pool.",
"description": "The Azure Guest OS Version currently installed on the virtual machines in the pool."
}
},
"required": [
"osFamily"
],
"title": "The configuration for nodes in a pool based on the Azure Cloud Services platform."
},
"VirtualMachineConfiguration": {
"properties": {
"imageReference": {
"$ref": "#/definitions/ImageReference",
"title": "A reference to the Azure Virtual Machines Marketplace image to use.",
"description": "A reference to the Azure Virtual Machines Marketplace image to use."
},
"osDisk": {
"$ref": "#/definitions/OSDisk",
"title": "A reference to the OS disk image to use.",
"description": "A reference to the OS disk image to use."
},
"nodeAgentSKUId": {
"type": "string",
"title": "The SKU of the Batch node agent to be provisioned on compute nodes in the pool.",
"description": "The SKU of the Batch node agent to be provisioned on compute nodes in the pool."
},
"windowsConfiguration": {
"$ref": "#/definitions/WindowsConfiguration",
"title": "Windows operating system settings on the virtual machine.",
"description": "Windows operating system settings on the virtual machine."
}
},
"required": [
"nodeAgentSKUId"
],
"title": "The configuration for compute nodes in a pool based on the Azure Virtual Machines infrastructure.",
"oneOf": [
{
"required": [
"imageReference"
]
},
{
"required": [
"osDisk"
]
}
]
},
"ImageReference": {
"properties": {
"publisher": {
"type": "string",
"title": "The publisher of the Azure Virtual Machines Marketplace image.",
"description": "The publisher of the Azure Virtual Machines Marketplace image."
},
"offer": {
"type": "string",
"title": "The offer type of the Azure Virtual Machines Marketplace image.",
"description": "The offer type of the Azure Virtual Machines Marketplace image."
},
"sku": {
"type": "string",
"title": "The SKU of the Azure Virtual Machines Marketplace image.",
"description": "The SKU of the Azure Virtual Machines Marketplace image."
},
"version": {
"type": "string",
"title": "The version of the Azure Virtual Machines Marketplace image.",
"description": "The version of the Azure Virtual Machines Marketplace image."
}
},
"required": [
"publisher",
"offer",
"sku"
],
"title": "A reference to an Azure Virtual Machines Marketplace image. To get the list of all imageReferences verified by Azure Batch, see the 'List supported node agent SKUs' operation."
},
"OSDisk": {
"properties": {
"imageUris": {
"type": "array",
"items": {
"type": "string"
},
"title": "The collection of Virtual Hard Disk (VHD) URIs.",
"description": "The collection of Virtual Hard Disk (VHD) URIs."
},
"caching": {
"type": "string",
"title": "The type of caching to enable for the OS disk.",
"description": "The type of caching to enable for the OS disk.",
"enum": [
"none",
"readOnly",
"readWrite"
],
"x-ms-enum": {
"name": "CachingType",
"modelAsString": false
}
}
},
"required": [
"imageUris"
],
"title": "A reference to an OS disk image."
},
"WindowsConfiguration": {
"properties": {
"enableAutomaticUpdates": {
"type": "boolean",
"title": "Whether automatic updates are enabled on the virtual machine.",
"description": "Whether automatic updates are enabled on the virtual machine."
}
},
"title": "Windows operating system settings to apply to the virtual machine."
},
"NetworkConfiguration": {
"properties": {
"subnetId": {
"type": "string",
"title": "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 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}.",
"externalDocs": {
"url": "https://azure.microsoft.com/en-us/documentation/articles/role-based-access-built-in-roles/#classic-virtual-machine-contributor",
"description": "Setting up RBAC for Azure Batch VNETs"
}
}
},
"description": "The network configuration for a pool."
},
"StartTask": {
"properties": {
"commandLine": {
"type": "string",
"title": "The command line of the start task.",
"description": "The command line of the start task."
},
"resourceFiles": {
"type": "array",
"items": {
"$ref": "#/definitions/ResourceFile"
},
"title": "A list of files that the Batch service will download to the compute node before running the command line.",
"description": "A list of files that the Batch service will download to the compute node before running the command line."
},
"environmentSettings": {
"type": "array",
"items": {
"$ref": "#/definitions/EnvironmentSetting"
},
"title": "A list of environment variable settings for the start task.",
"description": "A list of environment variable settings for the start task."
},
"userIdentity": {
"$ref": "#/definitions/UserIdentity",
"title": "The user identity under which the start task runs.",
"description": "The user identity under which the start task runs."
},
"maxTaskRetryCount": {
"type": "integer",
"format": "int32",
"title": "The maximum number of times the task may be retried.",
"description": "The maximum number of times the task may be retried."
},
"waitForSuccess": {
"type": "boolean",
"title": "Whether the Batch service should wait for the start task to complete successfully (that is, to exit with exit code 0) before scheduling any tasks on the compute node.",
"description": "Whether the Batch service should wait for the start task to complete successfully (that is, to exit with exit code 0) before scheduling any tasks on the compute node."
}
},
"required": [
"commandLine"
],
"title": "A task which is run when a compute node joins a pool in the Azure Batch service, or when the compute node is rebooted or reimaged."
},
"ResourceFile": {
"properties": {
"blobSource": {
"type": "string",
"title": "The URL of the file within Azure Blob Storage.",
"description": "The URL of the file within Azure Blob Storage."
},
"filePath": {
"type": "string",
"title": "The location on the compute node to which to download the file, relative to the task's working directory.",
"description": "The location on the compute node to which to download the file, relative to the task's working directory."
},
"fileMode": {
"type": "string",
"title": "The file permission mode attribute in octal format.",
"description": "The file permission mode attribute in octal format."
},
"source": {
"type": "object",
"$ref": "#/definitions/ResourceFileSource",
"title": "A source for files to be downloaded before running the task command line.",
"description": "A source for files to be downloaded before running the task command line."
}
},
"required": [],
"title": "A file to be downloaded from Azure blob storage to a compute node.",
"oneOf": [
{
"required": [
"source"
]
},
{
"required": [
"blobSource"
]
}
]
},
"ResourceFileSource": {
"properties": {
"fileGroup": {
"type": "string",
"title": "The file group in the linked storage account from which to download files.",
"description": "The file group in the linked storage account from which to download files."
},
"prefix": {
"type": "string",
"title": "A prefix with which to filter the files to download.",
"description": "A prefix with which to filter the files to download."
}
},
"required": [
"fileGroup"
]
},
"EnvironmentSetting": {
"properties": {
"name": {
"type": "string",
"title": "The name of the environment variable.",
"description": "The name of the environment variable."
},
"value": {
"type": "string",
"title": "The value of the environment variable.",
"description": "The value of the environment variable."
}
},
"required": [
"name"
],
"title": "An environment variable to be set on a task process."
},
"UserIdentity": {
"properties": {
"username": {
"type": "string",
"x-ms-client-name": "userName",
"title": "The name of the user identity under which the task is run.",
"description": "The name of the user identity under which the task is run."
},
"autoUser": {
"$ref": "#/definitions/AutoUserSpecification",
"title": "The auto user under which the task is run.",
"description": "The auto user under which the task is run."
}
},
"title": "The definition of the user identity under which the task is run.",
"description": "Specify either the userName or autoUser property, but not both."
},
"AutoUserSpecification": {
"properties": {
"scope": {
"type": "string",
"title": "The scope for the auto user",
"description": "The scope for the auto user",
"enum": [
"task",
"pool"
],
"x-ms-enum": {
"name": "AutoUserScope",
"modelAsString": false
}
},
"elevationLevel": {
"title": "The elevation level of the auto user.",
"description": "The elevation level of the auto user.",
"$ref": "#/definitions/ElevationLevel"
}
},
"title": "Specifies the parameters for the auto user that runs a task on the Batch service."
},
"ElevationLevel": {
"type": "string",
"title": "The elevation level of the user.",
"description": "nonAdmin - The user is a standard user without elevated access. admin - The user is a user with elevated access and operates with full Administrator permissions.",
"enum": [
"nonAdmin",
"admin"
],
"x-ms-enum": {
"name": "ElevationLevel",
"modelAsString": false
}
},
"CertificateReference": {
"properties": {
"thumbprint": {
"type": "string",
"title": "The thumbprint of the certificate.",
"description": "The thumbprint of the certificate."
},
"thumbprintAlgorithm": {
"type": "string",
"title": "The algorithm with which the thumbprint is associated. This must be sha1.",
"description": "The algorithm with which the thumbprint is associated. This must be sha1."
},
"storeLocation": {
"type": "string",
"title": "The location of the certificate store on the compute node into which to install the certificate.",
"description": "The location of the certificate store on the compute node into which to install the certificate.",
"enum": [
"currentUser",
"localMachine"
],
"x-ms-enum": {
"name": "CertificateStoreLocation",
"modelAsString": false
}
},
"storeName": {
"type": "string",
"title": "The name of the certificate store on the compute node into which to install the certificate.",
"description": "The name of the certificate store on the compute node into which to install the certificate."
},
"visibility": {
"type": "array",
"items": {
"type": "string",
"x-nullable": false,
"enum": [
"startTask",
"task",
"remoteUser"
],
"x-ms-enum": {
"name": "CertificateVisibility",
"modelAsString": false
}
},
"title": "Which user accounts on the compute node should have access to the private data of the certificate.",
"description": "Which user accounts on the compute node should have access to the private data of the certificate."
}
},
"required": [
"thumbprint",
"thumbprintAlgorithm"
],
"title": "A reference to a certificate to be installed on compute nodes in a pool."
},
"ApplicationPackageReference": {
"properties": {
"applicationId": {
"type": "string",
"title": "The ID of the application to deploy.",
"description": "The ID of the application to deploy."
},
"version": {
"type": "string",
"title": "The version of the application to deploy. If omitted, the default version is deployed.",
"description": "The version of the application to deploy. If omitted, the default version is deployed."
}
},
"required": [
"applicationId"
],
"title": "A reference to an application package to be deployed to compute nodes."
},
"TaskSchedulingPolicy": {
"properties": {
"nodeFillType": {
"type": "string",
"title": "How tasks should be distributed across compute nodes.",
"enum": [
"spread",
"pack"
],
"x-ms-enum": {
"name": "ComputeNodeFillType",
"modelAsString": false
},
"description": "How tasks should be distributed across compute nodes."
}
},
"required": [
"nodeFillType"
],
"title": "Specifies how tasks should be distributed across compute nodes."
},
"UserAccount": {
"properties": {
"name": {
"type": "string",
"title": "The name of the user account.",
"description": "The name of the user account."
},
"password": {
"type": "string",
"title": "The password for the user account.",
"description": "The password for the user account."
},
"elevationLevel": {
"title": "The elevation level of the user account.",
"description": "The elevation level of the user account.",
"$ref": "#/definitions/ElevationLevel"
},
"linuxUserConfiguration": {
"title": "The Linux-specific user configuration for the user account.",
"description": "The Linux-specific user configuration for the user account.",
"$ref": "#/definitions/LinuxUserConfiguration"
}
},
"required": [
"name",
"password"
],
"title": "Properties used to create a user used to execute tasks on an Azure Batch node."
},
"LinuxUserConfiguration": {
"properties": {
"uid": {
"type": "integer",
"format": "int32",
"title": "The user ID of the user account.",
"description": "The user ID of the user account."
},
"gid": {
"type": "integer",
"format": "int32",
"title": "The group ID for the user account.",
"description": "The group ID for the user account."
},
"sshPrivateKey": {
"type": "string",
"title": "The SSH private key for the user account.",
"description": "The SSH private key for the user account."
}
},
"title": "Properties used to create a user account on a Linux node."
},
"MetadataItem": {
"properties": {
"name": {
"type": "string",
"title": "The name of the metadata item.",
"description": "The name of the metadata item."
},
"value": {
"type": "string",
"title": "The value of the metadata item.",
"description": "The value of the metadata item."
}
},
"required": [
"name",
"value"
],
"title": "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."
},
"PackageReference": {
"properties": {
"type": {
"type": "string",
"title": "The type of package - aptPackage, chocolateyPackage, or yumPackage",
"description": "The type of package - aptPackage, chocolateyPackage, or yumPackage"
},
"id": {
"type": "string",
"title": "The name or ID of the package to be installed as identified according to the package repository.",
"description": "The name or ID of the package to be installed as identified according to the package repository."
},
"version": {
"type": "string",
"title": "The version of the package to be installed.",
"description": "The version of the package to be installed."
},
"allowEmptyChecksums": {
"type": "boolean",
"title": "Whether Chocolatey will install packages without a checksum for validation.",
"description": "Whether Chocolatey will install packages without a checksum for validation."
},
"disableExcludes": {
"type": "string",
"title": "Packages that might otherwise be excluded by VM configuration (e.g. kernel packages).",
"description": "Packages that might otherwise be excluded by VM configuration (e.g. kernel packages)."
}
},
"required": [
"type",
"id"
]
}
}
}