Создает новый пул внутри указанной учетной записи.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}?api-version=2025-06-01
Параметры URI
| Имя |
В |
Обязательно |
Тип |
Описание |
|
accountName
|
path |
True
|
string
minLength: 3 maxLength: 24 pattern: ^[a-zA-Z0-9]+$
|
Название для аккаунта Batch, которое должно быть уникальным в регионе. Названия пакетных аккаунтов должны быть длиной от 3 до 24 символов и использовать только цифры и строчные буквы. Это имя используется как часть DNS-имени, которое используется для доступа к пакетному сервису в регионе, где создан аккаунт. Например: http://accountname.region.batch.azure.com/.
|
|
poolName
|
path |
True
|
string
minLength: 1 maxLength: 64 pattern: ^[a-zA-Z0-9_-]+$
|
Имя пула. Это должно быть уникальным в пределах учетной записи.
|
|
resourceGroupName
|
path |
True
|
string
minLength: 1 maxLength: 90
|
Имя группы ресурсов. Имя не зависит от регистра.
|
|
subscriptionId
|
path |
True
|
string
(uuid)
|
Идентификатор целевой подписки. Значение должно быть Универсальным Уникальным Идентификатором (UUID).
|
|
api-version
|
query |
True
|
string
minLength: 1
|
Версия API, используемая для данной операции.
|
| Имя |
Обязательно |
Тип |
Описание |
|
If-Match
|
|
string
|
Версия состояния сущности (ETag) пула для обновления. Значение "*" можно использовать для применения операции только в том случае, если пул уже существует. Если опущено, эта операция всегда будет применена.
|
|
If-None-Match
|
|
string
|
Установите значение "*", чтобы разрешить создание нового пула, но для предотвращения обновления существующего пула. Другие значения будут игнорироваться.
|
Текст запроса
| Имя |
Тип |
Описание |
|
identity
|
BatchPoolIdentity
|
Тип удостоверения, используемого для пула пакетной службы.
|
|
properties.applicationPackages
|
ApplicationPackageReference[]
|
Список пакетов приложений, установленных на каждом вычислительном узле в пуле.
Изменения ссылок на пакеты приложений влияют на все новые вычислительные узлы, присоединенные к пулу, но не влияют на вычислительные узлы, которые уже находятся в пуле, пока они не перезагрузятся или переимыслятся. В любом пуле имеется не более 10 ссылок на пакеты приложений.
|
|
properties.deploymentConfiguration
|
DeploymentConfiguration
|
Это свойство описывает виртуальные машины, на которые будут развернуты узлы пула.
Свойства конфигурации развертывания.
|
|
properties.displayName
|
string
|
Отображаемое имя пула.
Отображаемое имя не должно быть уникальным и может содержать любые символы Юникода до максимальной длины 1024.
|
|
properties.interNodeCommunication
|
InterNodeCommunicationState
|
Разрешает ли пул прямой обмен данными между узлами.
Это накладывает ограничения на назначение узлов пулу. Включение этого значения может снизить вероятность выделения запрошенного количества узлов в пуле. Если этот параметр не указан, значение по умолчанию имеет значение "Отключено".
|
|
properties.metadata
|
MetadataItem[]
|
Список пар "имя-значение", связанных с пулом в качестве метаданных.
Пакетная служба не назначает никакое значение метаданным; он предназначен исключительно для использования пользовательского кода.
|
|
properties.mountConfiguration
|
MountConfiguration[]
|
Список файловых систем для подключения на каждом узле в пуле.
Это поддерживает файлы Azure, NFS, CIFS/SMB и Blobfuse.
|
|
properties.networkConfiguration
|
NetworkConfiguration
|
Конфигурация сети для пула.
Конфигурация сети для пула.
|
|
properties.scaleSettings
|
ScaleSettings
|
Параметры, которые настраивают количество узлов в пуле.
Определяет требуемый размер пула. Это может быть "фиксированный масштаб", где указан запрошенный целевой идентификаторNodes или "автомасштабирование", определяющий формулу, которая периодически переоценится. Если это свойство не указано, пул будет иметь фиксированный масштаб с 0 targetDedicatedNodes.
|
|
properties.startTask
|
StartTask
|
Задача, указанная для запуска на каждом вычислительном узле при присоединении к пулу.
В операции PATCH (update) это свойство можно задать для пустого объекта, чтобы удалить начальную задачу из пула.
|
|
properties.taskSchedulingPolicy
|
TaskSchedulingPolicy
|
Распределение задач между вычислительными узлами в пуле.
Если значение не указано, по умолчанию распространяется.
|
|
properties.taskSlotsPerNode
|
integer
(int32)
|
Количество слотов задач, которые могут использоваться для выполнения параллельных задач на одном вычислительном узле в пуле.
Значение по умолчанию — 1. Максимальное значение меньше 4 раза меньше числа ядер vmSize пула или 256.
|
|
properties.upgradePolicy
|
UpgradePolicy
|
Политика обновления пула.
Описывает политику обновления — автоматическую, ручную или перекатную.
|
|
properties.userAccounts
|
UserAccount[]
|
Список учетных записей пользователей, создаваемых на каждом узле в пуле.
Список учетных записей пользователей, создаваемых на каждом узле в пуле.
|
|
properties.vmSize
|
string
|
Размер виртуальных машин в пуле. Все виртуальные машины в пуле имеют одинаковый размер.
Сведения о доступных размерах виртуальных машин см. в статье "Размеры виртуальных машин в Azure" (https://learn.microsoft.com/azure/virtual-machines/sizes/overview). Пакетная служба поддерживает все размеры виртуальных машин Azure, кроме STANDARD_A0 и хранилища класса Premium (STANDARD_GS, STANDARD_DS и серии STANDARD_DSV2).
|
|
tags
|
object
|
Теги ресурса.
|
Ответы
| Имя |
Тип |
Описание |
|
200 OK
|
Pool
|
Запрос выполнен успешно.
Заголовки
ETag: string
|
|
Other Status Codes
|
CloudError
|
Непредвиденное сообщение об ошибке.
|
Безопасность
azure_auth
Поток OAuth2 в Azure Active Directory.
Тип:
oauth2
Flow:
implicit
URL-адрес авторизации:
https://login.microsoftonline.com/common/oauth2/authorize
Области
| Имя |
Описание |
|
user_impersonation
|
олицетворения учетной записи пользователя
|
Примеры
CreatePool - accelerated networking
Образец запроса
PUT https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool?api-version=2025-06-01
{
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"offer": "WindowsServer",
"publisher": "MicrosoftWindowsServer",
"sku": "2016-datacenter-smalldisk",
"version": "latest"
},
"nodeAgentSkuId": "batch.node.windows amd64"
}
},
"networkConfiguration": {
"enableAcceleratedNetworking": true,
"subnetId": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123"
},
"scaleSettings": {
"fixedScale": {
"targetDedicatedNodes": 1,
"targetLowPriorityNodes": 0
}
},
"vmSize": "STANDARD_D1_V2"
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.batch import BatchManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-batch
# USAGE
python pool_create_accelerated_networking.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = BatchManagementClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.pool.create(
resource_group_name="default-azurebatch-japaneast",
account_name="sampleacct",
pool_name="testpool",
parameters={
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"offer": "WindowsServer",
"publisher": "MicrosoftWindowsServer",
"sku": "2016-datacenter-smalldisk",
"version": "latest",
},
"nodeAgentSkuId": "batch.node.windows amd64",
}
},
"networkConfiguration": {
"enableAcceleratedNetworking": True,
"subnetId": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123",
},
"scaleSettings": {"fixedScale": {"targetDedicatedNodes": 1, "targetLowPriorityNodes": 0}},
"vmSize": "STANDARD_D1_V2",
}
},
)
print(response)
# x-ms-original-file: 2025-06-01/PoolCreate_AcceleratedNetworking.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armbatch_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/batch/armbatch/v4"
)
// Generated from example definition: 2025-06-01/PoolCreate_AcceleratedNetworking.json
func ExamplePoolClient_Create_createPoolAcceleratedNetworking() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armbatch.NewClientFactory("12345678-1234-1234-1234-123456789012", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewPoolClient().Create(ctx, "default-azurebatch-japaneast", "sampleacct", "testpool", armbatch.Pool{
Properties: &armbatch.PoolProperties{
DeploymentConfiguration: &armbatch.DeploymentConfiguration{
VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
ImageReference: &armbatch.ImageReference{
Offer: to.Ptr("WindowsServer"),
Publisher: to.Ptr("MicrosoftWindowsServer"),
SKU: to.Ptr("2016-datacenter-smalldisk"),
Version: to.Ptr("latest"),
},
NodeAgentSKUID: to.Ptr("batch.node.windows amd64"),
},
},
NetworkConfiguration: &armbatch.NetworkConfiguration{
EnableAcceleratedNetworking: to.Ptr(true),
SubnetID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123"),
},
ScaleSettings: &armbatch.ScaleSettings{
FixedScale: &armbatch.FixedScaleSettings{
TargetDedicatedNodes: to.Ptr[int32](1),
TargetLowPriorityNodes: to.Ptr[int32](0),
},
},
VMSize: to.Ptr("STANDARD_D1_V2"),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armbatch.PoolClientCreateResponse{
// ETag: "W/\"0x8DB46CB72A227E2\""
// Pool: &armbatch.Pool{
// Name: to.Ptr("testpool"),
// Type: to.Ptr("Microsoft.Batch/batchAccounts/pools"),
// ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool"),
// Properties: &armbatch.PoolProperties{
// AllocationState: to.Ptr(armbatch.AllocationStateSteady),
// AllocationStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-04-27T03:00:34.0646502Z"); return t}()),
// CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-04-27T02:59:41.8592226Z"); return t}()),
// CurrentDedicatedNodes: to.Ptr[int32](1),
// CurrentLowPriorityNodes: to.Ptr[int32](0),
// DeploymentConfiguration: &armbatch.DeploymentConfiguration{
// VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
// ImageReference: &armbatch.ImageReference{
// Offer: to.Ptr("WindowsServer"),
// Publisher: to.Ptr("MicrosoftWindowsServer"),
// SKU: to.Ptr("2016-datacenter-smalldisk"),
// Version: to.Ptr("latest"),
// },
// NodeAgentSKUID: to.Ptr("batch.node.windows amd64"),
// },
// },
// InterNodeCommunication: to.Ptr(armbatch.InterNodeCommunicationStateDisabled),
// LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-04-27T02:59:41.8592226Z"); return t}()),
// NetworkConfiguration: &armbatch.NetworkConfiguration{
// DynamicVNetAssignmentScope: to.Ptr(armbatch.DynamicVNetAssignmentScopeNone),
// EnableAcceleratedNetworking: to.Ptr(true),
// SubnetID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123"),
// },
// ProvisioningState: to.Ptr(armbatch.PoolProvisioningStateSucceeded),
// ProvisioningStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-04-27T02:59:41.8592226Z"); return t}()),
// ResizeOperationStatus: &armbatch.ResizeOperationStatus{
// NodeDeallocationOption: to.Ptr(armbatch.ComputeNodeDeallocationOptionRequeue),
// ResizeTimeout: to.Ptr("PT15M"),
// StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-04-27T02:59:41.8592226Z"); return t}()),
// TargetDedicatedNodes: to.Ptr[int32](1),
// },
// ScaleSettings: &armbatch.ScaleSettings{
// FixedScale: &armbatch.FixedScaleSettings{
// ResizeTimeout: to.Ptr("PT15M"),
// TargetDedicatedNodes: to.Ptr[int32](1),
// TargetLowPriorityNodes: to.Ptr[int32](0),
// },
// },
// TaskSchedulingPolicy: &armbatch.TaskSchedulingPolicy{
// NodeFillType: to.Ptr(armbatch.ComputeNodeFillTypeSpread),
// },
// TaskSlotsPerNode: to.Ptr[int32](1),
// VMSize: to.Ptr("STANDARD_D1_V2"),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using System.Xml;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Batch.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Batch;
// Generated from example definition: specification/batch/resource-manager/Microsoft.Batch/Batch/stable/2025-06-01/examples/PoolCreate_AcceleratedNetworking.json
// this example is just showing the usage of "Pool_Create" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this BatchAccountResource created on azure
// for more information of creating BatchAccountResource, please refer to the document of BatchAccountResource
string subscriptionId = "12345678-1234-1234-1234-123456789012";
string resourceGroupName = "default-azurebatch-japaneast";
string accountName = "sampleacct";
ResourceIdentifier batchAccountResourceId = BatchAccountResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, accountName);
BatchAccountResource batchAccount = client.GetBatchAccountResource(batchAccountResourceId);
// get the collection of this BatchAccountPoolResource
BatchAccountPoolCollection collection = batchAccount.GetBatchAccountPools();
// invoke the operation
string poolName = "testpool";
BatchAccountPoolData data = new BatchAccountPoolData
{
VmSize = "STANDARD_D1_V2",
DeploymentVmConfiguration = new BatchVmConfiguration(new BatchImageReference
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2016-datacenter-smalldisk",
Version = "latest",
}, "batch.node.windows amd64"),
ScaleSettings = new BatchAccountPoolScaleSettings
{
FixedScale = new BatchAccountFixedScaleSettings
{
TargetDedicatedNodes = 1,
TargetLowPriorityNodes = 0,
},
},
NetworkConfiguration = new BatchNetworkConfiguration
{
SubnetId = new ResourceIdentifier("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123"),
EnableAcceleratedNetworking = true,
},
};
ArmOperation<BatchAccountPoolResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, poolName, data);
BatchAccountPoolResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
BatchAccountPoolData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Пример ответа
ETag: W/"0x8DB46CB72A227E2"
{
"name": "testpool",
"type": "Microsoft.Batch/batchAccounts/pools",
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
"properties": {
"allocationState": "Steady",
"allocationStateTransitionTime": "2023-04-27T03:00:34.0646502Z",
"creationTime": "2023-04-27T02:59:41.8592226Z",
"currentDedicatedNodes": 1,
"currentLowPriorityNodes": 0,
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"offer": "WindowsServer",
"publisher": "MicrosoftWindowsServer",
"sku": "2016-datacenter-smalldisk",
"version": "latest"
},
"nodeAgentSkuId": "batch.node.windows amd64"
}
},
"interNodeCommunication": "Disabled",
"lastModified": "2023-04-27T02:59:41.8592226Z",
"networkConfiguration": {
"dynamicVnetAssignmentScope": "none",
"enableAcceleratedNetworking": true,
"subnetId": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123"
},
"provisioningState": "Succeeded",
"provisioningStateTransitionTime": "2023-04-27T02:59:41.8592226Z",
"resizeOperationStatus": {
"nodeDeallocationOption": "Requeue",
"resizeTimeout": "PT15M",
"startTime": "2023-04-27T02:59:41.8592226Z",
"targetDedicatedNodes": 1
},
"scaleSettings": {
"fixedScale": {
"resizeTimeout": "PT15M",
"targetDedicatedNodes": 1,
"targetLowPriorityNodes": 0
}
},
"taskSchedulingPolicy": {
"nodeFillType": "Spread"
},
"taskSlotsPerNode": 1,
"vmSize": "STANDARD_D1_V2"
}
}
CreatePool - confidential disk encryption set for user subscription accounts
Образец запроса
PUT https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool?api-version=2025-06-01
{
"properties": {
"vmSize": "Standard_DC2as_v5",
"taskSchedulingPolicy": {
"nodeFillType": "Pack"
},
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"publisher": "MicrosoftWindowsServer",
"offer": "WindowsServer",
"sku": "2019-datacenter-core-g2",
"version": "latest"
},
"nodeAgentSkuId": "batch.node.windows amd64",
"securityProfile": {
"securityType": "confidentialVM",
"encryptionAtHost": false,
"uefiSettings": {
"vTpmEnabled": true,
"secureBootEnabled": true
}
},
"osDisk": {
"managedDisk": {
"storageAccountType": "Standard_LRS",
"diskEncryptionSet": {
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/diskEncryptionSets/DiskEncryptionSetId"
},
"securityProfile": {
"securityEncryptionType": "DiskWithVMGuestState",
"diskEncryptionSet": {
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/diskEncryptionSets/ConfidentialDiskEncryptionSetId"
}
}
}
},
"dataDisks": [
{
"lun": 0,
"diskSizeGB": 1024,
"managedDisk": {
"storageAccountType": "Standard_LRS",
"diskEncryptionSet": {
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/diskEncryptionSets/DiskEncryptionSetId"
}
}
}
]
}
},
"scaleSettings": {
"fixedScale": {
"targetDedicatedNodes": 1,
"resizeTimeout": "PT15M"
}
}
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.batch import BatchManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-batch
# USAGE
python pool_create_confidential_disk_encryption_set_for_user_subscription_accounts.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = BatchManagementClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.pool.create(
resource_group_name="default-azurebatch-japaneast",
account_name="sampleacct",
pool_name="testpool",
parameters={
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"dataDisks": [
{
"diskSizeGB": 1024,
"lun": 0,
"managedDisk": {
"diskEncryptionSet": {
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/diskEncryptionSets/DiskEncryptionSetId"
},
"storageAccountType": "Standard_LRS",
},
}
],
"imageReference": {
"offer": "WindowsServer",
"publisher": "MicrosoftWindowsServer",
"sku": "2019-datacenter-core-g2",
"version": "latest",
},
"nodeAgentSkuId": "batch.node.windows amd64",
"osDisk": {
"managedDisk": {
"diskEncryptionSet": {
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/diskEncryptionSets/DiskEncryptionSetId"
},
"securityProfile": {
"diskEncryptionSet": {
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/diskEncryptionSets/ConfidentialDiskEncryptionSetId"
},
"securityEncryptionType": "DiskWithVMGuestState",
},
"storageAccountType": "Standard_LRS",
}
},
"securityProfile": {
"encryptionAtHost": False,
"securityType": "confidentialVM",
"uefiSettings": {"secureBootEnabled": True, "vTpmEnabled": True},
},
}
},
"scaleSettings": {"fixedScale": {"resizeTimeout": "PT15M", "targetDedicatedNodes": 1}},
"taskSchedulingPolicy": {"nodeFillType": "Pack"},
"vmSize": "Standard_DC2as_v5",
}
},
)
print(response)
# x-ms-original-file: 2025-06-01/PoolCreate_ConfidentialDiskEncryptionSet_ForUserSubscriptionAccounts.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armbatch_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/batch/armbatch/v4"
)
// Generated from example definition: 2025-06-01/PoolCreate_ConfidentialDiskEncryptionSet_ForUserSubscriptionAccounts.json
func ExamplePoolClient_Create_createPoolConfidentialDiskEncryptionSetForUserSubscriptionAccounts() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armbatch.NewClientFactory("12345678-1234-1234-1234-123456789012", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewPoolClient().Create(ctx, "default-azurebatch-japaneast", "sampleacct", "testpool", armbatch.Pool{
Properties: &armbatch.PoolProperties{
VMSize: to.Ptr("Standard_DC2as_v5"),
TaskSchedulingPolicy: &armbatch.TaskSchedulingPolicy{
NodeFillType: to.Ptr(armbatch.ComputeNodeFillTypePack),
},
DeploymentConfiguration: &armbatch.DeploymentConfiguration{
VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
ImageReference: &armbatch.ImageReference{
Publisher: to.Ptr("MicrosoftWindowsServer"),
Offer: to.Ptr("WindowsServer"),
SKU: to.Ptr("2019-datacenter-core-g2"),
Version: to.Ptr("latest"),
},
NodeAgentSKUID: to.Ptr("batch.node.windows amd64"),
SecurityProfile: &armbatch.SecurityProfile{
SecurityType: to.Ptr(armbatch.SecurityTypesConfidentialVM),
EncryptionAtHost: to.Ptr(false),
UefiSettings: &armbatch.UefiSettings{
VTpmEnabled: to.Ptr(true),
SecureBootEnabled: to.Ptr(true),
},
},
OSDisk: &armbatch.OSDisk{
ManagedDisk: &armbatch.ManagedDisk{
StorageAccountType: to.Ptr(armbatch.StorageAccountTypeStandardLRS),
DiskEncryptionSet: &armbatch.DiskEncryptionSetParameters{
ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/diskEncryptionSets/DiskEncryptionSetId"),
},
SecurityProfile: &armbatch.VMDiskSecurityProfile{
SecurityEncryptionType: to.Ptr(armbatch.SecurityEncryptionTypesDiskWithVMGuestState),
DiskEncryptionSet: &armbatch.DiskEncryptionSetParameters{
ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/diskEncryptionSets/ConfidentialDiskEncryptionSetId"),
},
},
},
},
DataDisks: []*armbatch.DataDisk{
{
Lun: to.Ptr[int32](0),
DiskSizeGB: to.Ptr[int32](1024),
ManagedDisk: &armbatch.ManagedDisk{
StorageAccountType: to.Ptr(armbatch.StorageAccountTypeStandardLRS),
DiskEncryptionSet: &armbatch.DiskEncryptionSetParameters{
ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/diskEncryptionSets/DiskEncryptionSetId"),
},
},
},
},
},
},
ScaleSettings: &armbatch.ScaleSettings{
FixedScale: &armbatch.FixedScaleSettings{
TargetDedicatedNodes: to.Ptr[int32](1),
ResizeTimeout: to.Ptr("PT15M"),
},
},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armbatch.PoolClientCreateResponse{
// ETag: "W/\"0x8D4EDFEBFADF4AB\""
// Pool: &armbatch.Pool{
// ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool"),
// Name: to.Ptr("testpool"),
// Type: to.Ptr("Microsoft.Batch/batchAccounts/pools"),
// Etag: to.Ptr("W/\"0x8D4EDFEBFADF4AB\""),
// Properties: &armbatch.PoolProperties{
// LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2025-06-30T07:30:49.7522647Z"); return t}()),
// CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2025-06-30T07:30:49.7522634Z"); return t}()),
// ProvisioningState: to.Ptr(armbatch.PoolProvisioningStateSucceeded),
// ProvisioningStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2025-06-30T07:30:49.7522634Z"); return t}()),
// AllocationState: to.Ptr(armbatch.AllocationStateResizing),
// AllocationStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2025-06-30T07:30:49.7522647Z"); return t}()),
// VMSize: to.Ptr("STANDARD_DC2as_v5"),
// InterNodeCommunication: to.Ptr(armbatch.InterNodeCommunicationStateDisabled),
// TaskSlotsPerNode: to.Ptr[int32](1),
// TaskSchedulingPolicy: &armbatch.TaskSchedulingPolicy{
// NodeFillType: to.Ptr(armbatch.ComputeNodeFillTypePack),
// JobDefaultOrder: to.Ptr(armbatch.JobDefaultOrderNone),
// },
// DeploymentConfiguration: &armbatch.DeploymentConfiguration{
// VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
// ImageReference: &armbatch.ImageReference{
// Publisher: to.Ptr("MicrosoftWindowsServer"),
// Offer: to.Ptr("WindowsServer"),
// SKU: to.Ptr("2019-datacenter-core-g2"),
// Version: to.Ptr("latest"),
// },
// NodeAgentSKUID: to.Ptr("batch.node.windows amd64"),
// DataDisks: []*armbatch.DataDisk{
// {
// Lun: to.Ptr[int32](0),
// Caching: to.Ptr(armbatch.CachingTypeNone),
// DiskSizeGB: to.Ptr[int32](1024),
// ManagedDisk: &armbatch.ManagedDisk{
// StorageAccountType: to.Ptr(armbatch.StorageAccountTypeStandardLRS),
// DiskEncryptionSet: &armbatch.DiskEncryptionSetParameters{
// ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/diskEncryptionSets/DiskEncryptionSetId"),
// },
// },
// },
// },
// OSDisk: &armbatch.OSDisk{
// Caching: to.Ptr(armbatch.CachingTypeNone),
// ManagedDisk: &armbatch.ManagedDisk{
// StorageAccountType: to.Ptr(armbatch.StorageAccountTypeStandardLRS),
// SecurityProfile: &armbatch.VMDiskSecurityProfile{
// SecurityEncryptionType: to.Ptr(armbatch.SecurityEncryptionTypesDiskWithVMGuestState),
// DiskEncryptionSet: &armbatch.DiskEncryptionSetParameters{
// ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/diskEncryptionSets/ConfidentialDiskEncryptionSetId"),
// },
// },
// DiskEncryptionSet: &armbatch.DiskEncryptionSetParameters{
// ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/diskEncryptionSets/DiskEncryptionSetId"),
// },
// },
// },
// SecurityProfile: &armbatch.SecurityProfile{
// SecurityType: to.Ptr(armbatch.SecurityTypesConfidentialVM),
// EncryptionAtHost: to.Ptr(false),
// UefiSettings: &armbatch.UefiSettings{
// SecureBootEnabled: to.Ptr(true),
// VTpmEnabled: to.Ptr(true),
// },
// },
// },
// },
// ScaleSettings: &armbatch.ScaleSettings{
// FixedScale: &armbatch.FixedScaleSettings{
// TargetDedicatedNodes: to.Ptr[int32](1),
// TargetLowPriorityNodes: to.Ptr[int32](0),
// ResizeTimeout: to.Ptr("PT15M"),
// },
// },
// ResizeOperationStatus: &armbatch.ResizeOperationStatus{
// TargetDedicatedNodes: to.Ptr[int32](1),
// NodeDeallocationOption: to.Ptr(armbatch.ComputeNodeDeallocationOptionRequeue),
// ResizeTimeout: to.Ptr("PT15M"),
// StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2025-06-30T07:30:49.7522324Z"); return t}()),
// },
// CurrentDedicatedNodes: to.Ptr[int32](0),
// CurrentLowPriorityNodes: to.Ptr[int32](0),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using System.Xml;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Batch.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Batch;
// Generated from example definition: specification/batch/resource-manager/Microsoft.Batch/Batch/stable/2025-06-01/examples/PoolCreate_ConfidentialDiskEncryptionSet_ForUserSubscriptionAccounts.json
// this example is just showing the usage of "Pool_Create" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this BatchAccountResource created on azure
// for more information of creating BatchAccountResource, please refer to the document of BatchAccountResource
string subscriptionId = "12345678-1234-1234-1234-123456789012";
string resourceGroupName = "default-azurebatch-japaneast";
string accountName = "sampleacct";
ResourceIdentifier batchAccountResourceId = BatchAccountResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, accountName);
BatchAccountResource batchAccount = client.GetBatchAccountResource(batchAccountResourceId);
// get the collection of this BatchAccountPoolResource
BatchAccountPoolCollection collection = batchAccount.GetBatchAccountPools();
// invoke the operation
string poolName = "testpool";
BatchAccountPoolData data = new BatchAccountPoolData
{
VmSize = "Standard_DC2as_v5",
DeploymentVmConfiguration = new BatchVmConfiguration(new BatchImageReference
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2019-datacenter-core-g2",
Version = "latest",
}, "batch.node.windows amd64")
{
DataDisks = {new BatchVmDataDisk(0, 1024)
{
ManagedDisk = new ManagedDisk
{
StorageAccountType = BatchStorageAccountType.StandardLrs,
DiskEncryptionSetId = new ResourceIdentifier("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/diskEncryptionSets/DiskEncryptionSetId"),
},
}},
OSDisk = new BatchOSDisk
{
ManagedDisk = new ManagedDisk
{
StorageAccountType = BatchStorageAccountType.StandardLrs,
SecurityProfile = new VmDiskSecurityProfile
{
SecurityEncryptionType = BatchSecurityEncryptionType.DiskWithVmGuestState,
DiskEncryptionSetId = new ResourceIdentifier("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/diskEncryptionSets/ConfidentialDiskEncryptionSetId"),
},
DiskEncryptionSetId = new ResourceIdentifier("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/diskEncryptionSets/DiskEncryptionSetId"),
},
},
SecurityProfile = new BatchSecurityProfile
{
SecurityType = BatchSecurityType.ConfidentialVm,
EncryptionAtHost = false,
UefiSettings = new BatchUefiSettings
{
IsSecureBootEnabled = true,
IsVTpmEnabled = true,
},
},
},
ScaleSettings = new BatchAccountPoolScaleSettings
{
FixedScale = new BatchAccountFixedScaleSettings
{
ResizeTimeout = XmlConvert.ToTimeSpan("PT15M"),
TargetDedicatedNodes = 1,
},
},
TaskSchedulingPolicy = new BatchTaskSchedulingPolicy(BatchNodeFillType.Pack),
};
ArmOperation<BatchAccountPoolResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, poolName, data);
BatchAccountPoolResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
BatchAccountPoolData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Пример ответа
ETag: W/"0x8D4EDFEBFADF4AB"
{
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
"name": "testpool",
"type": "Microsoft.Batch/batchAccounts/pools",
"etag": "W/\"0x8D4EDFEBFADF4AB\"",
"properties": {
"lastModified": "2025-06-30T07:30:49.7522647Z",
"creationTime": "2025-06-30T07:30:49.7522634Z",
"provisioningState": "Succeeded",
"provisioningStateTransitionTime": "2025-06-30T07:30:49.7522634Z",
"allocationState": "Resizing",
"allocationStateTransitionTime": "2025-06-30T07:30:49.7522647Z",
"vmSize": "STANDARD_DC2as_v5",
"interNodeCommunication": "Disabled",
"taskSlotsPerNode": 1,
"taskSchedulingPolicy": {
"nodeFillType": "Pack",
"jobDefaultOrder": "None"
},
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"publisher": "MicrosoftWindowsServer",
"offer": "WindowsServer",
"sku": "2019-datacenter-core-g2",
"version": "latest"
},
"nodeAgentSkuId": "batch.node.windows amd64",
"dataDisks": [
{
"lun": 0,
"caching": "None",
"diskSizeGB": 1024,
"managedDisk": {
"storageAccountType": "Standard_LRS",
"diskEncryptionSet": {
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/diskEncryptionSets/DiskEncryptionSetId"
}
}
}
],
"osDisk": {
"caching": "None",
"managedDisk": {
"storageAccountType": "Standard_LRS",
"securityProfile": {
"securityEncryptionType": "DiskWithVMGuestState",
"diskEncryptionSet": {
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/diskEncryptionSets/ConfidentialDiskEncryptionSetId"
}
},
"diskEncryptionSet": {
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/diskEncryptionSets/DiskEncryptionSetId"
}
}
},
"securityProfile": {
"securityType": "confidentialVM",
"encryptionAtHost": false,
"uefiSettings": {
"secureBootEnabled": true,
"vTpmEnabled": true
}
}
}
},
"scaleSettings": {
"fixedScale": {
"targetDedicatedNodes": 1,
"targetLowPriorityNodes": 0,
"resizeTimeout": "PT15M"
}
},
"resizeOperationStatus": {
"targetDedicatedNodes": 1,
"nodeDeallocationOption": "Requeue",
"resizeTimeout": "PT15M",
"startTime": "2025-06-30T07:30:49.7522324Z"
},
"currentDedicatedNodes": 0,
"currentLowPriorityNodes": 0
}
}
CreatePool - Custom Image
Образец запроса
PUT https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool?api-version=2025-06-01
{
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1"
},
"nodeAgentSkuId": "batch.node.ubuntu 18.04"
}
},
"vmSize": "STANDARD_D4"
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.batch import BatchManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-batch
# USAGE
python pool_create_shared_image_gallery.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = BatchManagementClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.pool.create(
resource_group_name="default-azurebatch-japaneast",
account_name="sampleacct",
pool_name="testpool",
parameters={
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1"
},
"nodeAgentSkuId": "batch.node.ubuntu 18.04",
}
},
"vmSize": "STANDARD_D4",
}
},
)
print(response)
# x-ms-original-file: 2025-06-01/PoolCreate_SharedImageGallery.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armbatch_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/batch/armbatch/v4"
)
// Generated from example definition: 2025-06-01/PoolCreate_SharedImageGallery.json
func ExamplePoolClient_Create_createPoolCustomImage() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armbatch.NewClientFactory("12345678-1234-1234-1234-123456789012", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewPoolClient().Create(ctx, "default-azurebatch-japaneast", "sampleacct", "testpool", armbatch.Pool{
Properties: &armbatch.PoolProperties{
DeploymentConfiguration: &armbatch.DeploymentConfiguration{
VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
ImageReference: &armbatch.ImageReference{
ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1"),
},
NodeAgentSKUID: to.Ptr("batch.node.ubuntu 18.04"),
},
},
VMSize: to.Ptr("STANDARD_D4"),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armbatch.PoolClientCreateResponse{
// ETag: "W/\"0x8D4EDFEBFADF4AB\""
// Pool: &armbatch.Pool{
// Name: to.Ptr("testpool"),
// Type: to.Ptr("Microsoft.Batch/batchAccounts/pools"),
// ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool"),
// Properties: &armbatch.PoolProperties{
// AllocationState: to.Ptr(armbatch.AllocationStateSteady),
// AllocationStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-28T10:22:55.9407275Z"); return t}()),
// CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-28T10:22:55.9407275Z"); return t}()),
// CurrentDedicatedNodes: to.Ptr[int32](0),
// CurrentLowPriorityNodes: to.Ptr[int32](0),
// DeploymentConfiguration: &armbatch.DeploymentConfiguration{
// VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
// ImageReference: &armbatch.ImageReference{
// ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1"),
// },
// NodeAgentSKUID: to.Ptr("batch.node.ubuntu 18.04"),
// },
// },
// InterNodeCommunication: to.Ptr(armbatch.InterNodeCommunicationStateDisabled),
// LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-28T10:22:55.9407275Z"); return t}()),
// ProvisioningState: to.Ptr(armbatch.PoolProvisioningStateSucceeded),
// ProvisioningStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-28T10:22:55.9407275Z"); return t}()),
// ScaleSettings: &armbatch.ScaleSettings{
// FixedScale: &armbatch.FixedScaleSettings{
// TargetDedicatedNodes: to.Ptr[int32](0),
// TargetLowPriorityNodes: to.Ptr[int32](0),
// },
// },
// TaskSchedulingPolicy: &armbatch.TaskSchedulingPolicy{
// NodeFillType: to.Ptr(armbatch.ComputeNodeFillTypeSpread),
// },
// TaskSlotsPerNode: to.Ptr[int32](1),
// VMSize: to.Ptr("STANDARD_D4"),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using System.Xml;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Batch.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Batch;
// Generated from example definition: specification/batch/resource-manager/Microsoft.Batch/Batch/stable/2025-06-01/examples/PoolCreate_SharedImageGallery.json
// this example is just showing the usage of "Pool_Create" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this BatchAccountResource created on azure
// for more information of creating BatchAccountResource, please refer to the document of BatchAccountResource
string subscriptionId = "12345678-1234-1234-1234-123456789012";
string resourceGroupName = "default-azurebatch-japaneast";
string accountName = "sampleacct";
ResourceIdentifier batchAccountResourceId = BatchAccountResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, accountName);
BatchAccountResource batchAccount = client.GetBatchAccountResource(batchAccountResourceId);
// get the collection of this BatchAccountPoolResource
BatchAccountPoolCollection collection = batchAccount.GetBatchAccountPools();
// invoke the operation
string poolName = "testpool";
BatchAccountPoolData data = new BatchAccountPoolData
{
VmSize = "STANDARD_D4",
DeploymentVmConfiguration = new BatchVmConfiguration(new BatchImageReference
{
Id = new ResourceIdentifier("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1"),
}, "batch.node.ubuntu 18.04"),
};
ArmOperation<BatchAccountPoolResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, poolName, data);
BatchAccountPoolResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
BatchAccountPoolData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Пример ответа
ETag: W/"0x8D4EDFEBFADF4AB"
{
"name": "testpool",
"type": "Microsoft.Batch/batchAccounts/pools",
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
"properties": {
"allocationState": "Steady",
"allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
"creationTime": "2017-08-28T10:22:55.9407275Z",
"currentDedicatedNodes": 0,
"currentLowPriorityNodes": 0,
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1"
},
"nodeAgentSkuId": "batch.node.ubuntu 18.04"
}
},
"interNodeCommunication": "Disabled",
"lastModified": "2017-08-28T10:22:55.9407275Z",
"provisioningState": "Succeeded",
"provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
"scaleSettings": {
"fixedScale": {
"targetDedicatedNodes": 0,
"targetLowPriorityNodes": 0
}
},
"taskSchedulingPolicy": {
"nodeFillType": "Spread"
},
"taskSlotsPerNode": 1,
"vmSize": "STANDARD_D4"
}
}
CreatePool - customer managed key for Batch managed accounts
Образец запроса
PUT https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool?api-version=2025-06-01
{
"properties": {
"vmSize": "Standard_D4ds_v5",
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"sku": "2022-Datacenter",
"publisher": "MicrosoftWindowsServer",
"version": "latest",
"offer": "WindowsServer"
},
"nodeAgentSkuId": "batch.node.windows amd64",
"diskEncryptionConfiguration": {
"targets": [
"OsDisk"
],
"customerManagedKey": {
"keyUrl": "http://sample.vault.azure.net//keys/cmk/bb60031a6d4545d3a60d3f94588538c9",
"identityReference": {
"resourceId": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1"
}
}
}
}
},
"scaleSettings": {
"fixedScale": {
"targetDedicatedNodes": 1,
"resizeTimeout": "PT15M"
}
}
},
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {}
}
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.batch import BatchManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-batch
# USAGE
python pool_create_customer_managed_key_for_batch_managed_accounts.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = BatchManagementClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.pool.create(
resource_group_name="default-azurebatch-japaneast",
account_name="sampleacct",
pool_name="testpool",
parameters={
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {}
},
},
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"diskEncryptionConfiguration": {
"customerManagedKey": {
"identityReference": {
"resourceId": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1"
},
"keyUrl": "http://sample.vault.azure.net//keys/cmk/bb60031a6d4545d3a60d3f94588538c9",
},
"targets": ["OsDisk"],
},
"imageReference": {
"offer": "WindowsServer",
"publisher": "MicrosoftWindowsServer",
"sku": "2022-Datacenter",
"version": "latest",
},
"nodeAgentSkuId": "batch.node.windows amd64",
}
},
"scaleSettings": {"fixedScale": {"resizeTimeout": "PT15M", "targetDedicatedNodes": 1}},
"vmSize": "Standard_D4ds_v5",
},
},
)
print(response)
# x-ms-original-file: 2025-06-01/PoolCreate_CustomerManagedKey_ForBatchManagedAccounts.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armbatch_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/batch/armbatch/v4"
)
// Generated from example definition: 2025-06-01/PoolCreate_CustomerManagedKey_ForBatchManagedAccounts.json
func ExamplePoolClient_Create_createPoolCustomerManagedKeyForBatchManagedAccounts() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armbatch.NewClientFactory("12345678-1234-1234-1234-123456789012", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewPoolClient().Create(ctx, "default-azurebatch-japaneast", "sampleacct", "testpool", armbatch.Pool{
Properties: &armbatch.PoolProperties{
VMSize: to.Ptr("Standard_D4ds_v5"),
DeploymentConfiguration: &armbatch.DeploymentConfiguration{
VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
ImageReference: &armbatch.ImageReference{
SKU: to.Ptr("2022-Datacenter"),
Publisher: to.Ptr("MicrosoftWindowsServer"),
Version: to.Ptr("latest"),
Offer: to.Ptr("WindowsServer"),
},
NodeAgentSKUID: to.Ptr("batch.node.windows amd64"),
DiskEncryptionConfiguration: &armbatch.DiskEncryptionConfiguration{
Targets: []*armbatch.DiskEncryptionTarget{
to.Ptr(armbatch.DiskEncryptionTargetOsDisk),
},
CustomerManagedKey: &armbatch.DiskCustomerManagedKey{
KeyURL: to.Ptr("http://sample.vault.azure.net//keys/cmk/bb60031a6d4545d3a60d3f94588538c9"),
IdentityReference: &armbatch.ComputeNodeIdentityReference{
ResourceID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1"),
},
},
},
},
},
ScaleSettings: &armbatch.ScaleSettings{
FixedScale: &armbatch.FixedScaleSettings{
TargetDedicatedNodes: to.Ptr[int32](1),
ResizeTimeout: to.Ptr("PT15M"),
},
},
},
Identity: &armbatch.PoolIdentity{
Type: to.Ptr(armbatch.PoolIdentityTypeUserAssigned),
UserAssignedIdentities: map[string]*armbatch.UserAssignedIdentities{
"/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {},
},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armbatch.PoolClientCreateResponse{
// ETag: "W/\"0x8D4EDFEBFADF4AB\""
// Pool: &armbatch.Pool{
// Identity: &armbatch.PoolIdentity{
// Type: to.Ptr(armbatch.PoolIdentityTypeUserAssigned),
// UserAssignedIdentities: map[string]*armbatch.UserAssignedIdentities{
// "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": &armbatch.UserAssignedIdentities{
// PrincipalID: to.Ptr("principalId"),
// ClientID: to.Ptr("clientId"),
// },
// },
// },
// ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool"),
// Name: to.Ptr("testpool"),
// Type: to.Ptr("Microsoft.Batch/batchAccounts/pools"),
// Etag: to.Ptr("W/\"0x8D4EDFEBFADF4AB\""),
// Properties: &armbatch.PoolProperties{
// LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2025-06-30T07:16:33.4309281Z"); return t}()),
// CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2025-06-30T07:16:33.4309266Z"); return t}()),
// ProvisioningState: to.Ptr(armbatch.PoolProvisioningStateSucceeded),
// ProvisioningStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2025-06-30T07:16:33.4309266Z"); return t}()),
// AllocationState: to.Ptr(armbatch.AllocationStateResizing),
// AllocationStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2025-06-30T07:16:33.4309281Z"); return t}()),
// VMSize: to.Ptr("Standard_D4ds_v5"),
// InterNodeCommunication: to.Ptr(armbatch.InterNodeCommunicationStateDisabled),
// TaskSlotsPerNode: to.Ptr[int32](1),
// TaskSchedulingPolicy: &armbatch.TaskSchedulingPolicy{
// NodeFillType: to.Ptr(armbatch.ComputeNodeFillTypeSpread),
// JobDefaultOrder: to.Ptr(armbatch.JobDefaultOrderNone),
// },
// DeploymentConfiguration: &armbatch.DeploymentConfiguration{
// VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
// ImageReference: &armbatch.ImageReference{
// Publisher: to.Ptr("MicrosoftWindowsServer"),
// Offer: to.Ptr("WindowsServer"),
// SKU: to.Ptr("2022-Datacenter"),
// Version: to.Ptr("latest"),
// },
// NodeAgentSKUID: to.Ptr("batch.node.windows amd64"),
// DiskEncryptionConfiguration: &armbatch.DiskEncryptionConfiguration{
// Targets: []*armbatch.DiskEncryptionTarget{
// to.Ptr(armbatch.DiskEncryptionTargetOsDisk),
// },
// CustomerManagedKey: &armbatch.DiskCustomerManagedKey{
// KeyURL: to.Ptr("http://sample.vault.azure.net//keys/cmk/bb60031a6d4545d3a60d3f94588538c9"),
// IdentityReference: &armbatch.ComputeNodeIdentityReference{
// ResourceID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1"),
// },
// },
// },
// },
// },
// ScaleSettings: &armbatch.ScaleSettings{
// FixedScale: &armbatch.FixedScaleSettings{
// TargetDedicatedNodes: to.Ptr[int32](1),
// TargetLowPriorityNodes: to.Ptr[int32](0),
// ResizeTimeout: to.Ptr("PT15M"),
// },
// },
// ResizeOperationStatus: &armbatch.ResizeOperationStatus{
// TargetDedicatedNodes: to.Ptr[int32](1),
// NodeDeallocationOption: to.Ptr(armbatch.ComputeNodeDeallocationOptionRequeue),
// ResizeTimeout: to.Ptr("PT15M"),
// StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2025-06-30T07:16:33.4309126Z"); return t}()),
// },
// CurrentDedicatedNodes: to.Ptr[int32](0),
// CurrentLowPriorityNodes: to.Ptr[int32](0),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using System.Xml;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Batch.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Batch;
// Generated from example definition: specification/batch/resource-manager/Microsoft.Batch/Batch/stable/2025-06-01/examples/PoolCreate_CustomerManagedKey_ForBatchManagedAccounts.json
// this example is just showing the usage of "Pool_Create" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this BatchAccountResource created on azure
// for more information of creating BatchAccountResource, please refer to the document of BatchAccountResource
string subscriptionId = "12345678-1234-1234-1234-123456789012";
string resourceGroupName = "default-azurebatch-japaneast";
string accountName = "sampleacct";
ResourceIdentifier batchAccountResourceId = BatchAccountResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, accountName);
BatchAccountResource batchAccount = client.GetBatchAccountResource(batchAccountResourceId);
// get the collection of this BatchAccountPoolResource
BatchAccountPoolCollection collection = batchAccount.GetBatchAccountPools();
// invoke the operation
string poolName = "testpool";
BatchAccountPoolData data = new BatchAccountPoolData
{
Identity = new ManagedServiceIdentity("UserAssigned")
{
UserAssignedIdentities =
{
[new ResourceIdentifier("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1")] = new UserAssignedIdentity()
},
},
VmSize = "Standard_D4ds_v5",
DeploymentVmConfiguration = new BatchVmConfiguration(new BatchImageReference
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2022-Datacenter",
Version = "latest",
}, "batch.node.windows amd64")
{
DiskEncryptionConfiguration = new BatchDiskEncryptionConfiguration
{
Targets = { BatchDiskEncryptionTarget.OSDisk },
CustomerManagedKey = new BatchDiskCustomerManagedKey
{
KeyUri = new Uri("http://sample.vault.azure.net//keys/cmk/bb60031a6d4545d3a60d3f94588538c9"),
IdentityReferenceResourceId = new ResourceIdentifier("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1"),
},
},
},
ScaleSettings = new BatchAccountPoolScaleSettings
{
FixedScale = new BatchAccountFixedScaleSettings
{
ResizeTimeout = XmlConvert.ToTimeSpan("PT15M"),
TargetDedicatedNodes = 1,
},
},
};
ArmOperation<BatchAccountPoolResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, poolName, data);
BatchAccountPoolResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
BatchAccountPoolData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Пример ответа
ETag: W/"0x8D4EDFEBFADF4AB"
{
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {
"principalId": "principalId",
"clientId": "clientId"
}
}
},
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
"name": "testpool",
"type": "Microsoft.Batch/batchAccounts/pools",
"etag": "W/\"0x8D4EDFEBFADF4AB\"",
"properties": {
"lastModified": "2025-06-30T07:16:33.4309281Z",
"creationTime": "2025-06-30T07:16:33.4309266Z",
"provisioningState": "Succeeded",
"provisioningStateTransitionTime": "2025-06-30T07:16:33.4309266Z",
"allocationState": "Resizing",
"allocationStateTransitionTime": "2025-06-30T07:16:33.4309281Z",
"vmSize": "Standard_D4ds_v5",
"interNodeCommunication": "Disabled",
"taskSlotsPerNode": 1,
"taskSchedulingPolicy": {
"nodeFillType": "Spread",
"jobDefaultOrder": "None"
},
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"publisher": "MicrosoftWindowsServer",
"offer": "WindowsServer",
"sku": "2022-Datacenter",
"version": "latest"
},
"nodeAgentSkuId": "batch.node.windows amd64",
"diskEncryptionConfiguration": {
"targets": [
"OsDisk"
],
"customerManagedKey": {
"keyUrl": "http://sample.vault.azure.net//keys/cmk/bb60031a6d4545d3a60d3f94588538c9",
"identityReference": {
"resourceId": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1"
}
}
}
}
},
"scaleSettings": {
"fixedScale": {
"targetDedicatedNodes": 1,
"targetLowPriorityNodes": 0,
"resizeTimeout": "PT15M"
}
},
"resizeOperationStatus": {
"targetDedicatedNodes": 1,
"nodeDeallocationOption": "Requeue",
"resizeTimeout": "PT15M",
"startTime": "2025-06-30T07:16:33.4309126Z"
},
"currentDedicatedNodes": 0,
"currentLowPriorityNodes": 0
}
}
CreatePool - disk encryption set for user subscription accounts
Образец запроса
PUT https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool?api-version=2025-06-01
{
"properties": {
"vmSize": "Standard_D4ds_v5",
"taskSchedulingPolicy": {
"nodeFillType": "Pack"
},
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"sku": "2022-Datacenter",
"publisher": "MicrosoftWindowsServer",
"version": "latest",
"offer": "WindowsServer"
},
"nodeAgentSkuId": "batch.node.windows amd64",
"securityProfile": {
"encryptionAtHost": false
},
"osDisk": {
"managedDisk": {
"storageAccountType": "Standard_LRS",
"diskEncryptionSet": {
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/diskEncryptionSets/DiskEncryptionSetId"
}
}
}
}
},
"scaleSettings": {
"fixedScale": {
"targetDedicatedNodes": 1,
"resizeTimeout": "PT15M"
}
}
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.batch import BatchManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-batch
# USAGE
python pool_create_disk_encryption_set_for_user_subscription_accounts.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = BatchManagementClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.pool.create(
resource_group_name="default-azurebatch-japaneast",
account_name="sampleacct",
pool_name="testpool",
parameters={
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"offer": "WindowsServer",
"publisher": "MicrosoftWindowsServer",
"sku": "2022-Datacenter",
"version": "latest",
},
"nodeAgentSkuId": "batch.node.windows amd64",
"osDisk": {
"managedDisk": {
"diskEncryptionSet": {
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/diskEncryptionSets/DiskEncryptionSetId"
},
"storageAccountType": "Standard_LRS",
}
},
"securityProfile": {"encryptionAtHost": False},
}
},
"scaleSettings": {"fixedScale": {"resizeTimeout": "PT15M", "targetDedicatedNodes": 1}},
"taskSchedulingPolicy": {"nodeFillType": "Pack"},
"vmSize": "Standard_D4ds_v5",
}
},
)
print(response)
# x-ms-original-file: 2025-06-01/PoolCreate_DiskEncryptionSet_ForUserSubscriptionAccounts.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armbatch_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/batch/armbatch/v4"
)
// Generated from example definition: 2025-06-01/PoolCreate_DiskEncryptionSet_ForUserSubscriptionAccounts.json
func ExamplePoolClient_Create_createPoolDiskEncryptionSetForUserSubscriptionAccounts() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armbatch.NewClientFactory("12345678-1234-1234-1234-123456789012", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewPoolClient().Create(ctx, "default-azurebatch-japaneast", "sampleacct", "testpool", armbatch.Pool{
Properties: &armbatch.PoolProperties{
VMSize: to.Ptr("Standard_D4ds_v5"),
TaskSchedulingPolicy: &armbatch.TaskSchedulingPolicy{
NodeFillType: to.Ptr(armbatch.ComputeNodeFillTypePack),
},
DeploymentConfiguration: &armbatch.DeploymentConfiguration{
VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
ImageReference: &armbatch.ImageReference{
SKU: to.Ptr("2022-Datacenter"),
Publisher: to.Ptr("MicrosoftWindowsServer"),
Version: to.Ptr("latest"),
Offer: to.Ptr("WindowsServer"),
},
NodeAgentSKUID: to.Ptr("batch.node.windows amd64"),
SecurityProfile: &armbatch.SecurityProfile{
EncryptionAtHost: to.Ptr(false),
},
OSDisk: &armbatch.OSDisk{
ManagedDisk: &armbatch.ManagedDisk{
StorageAccountType: to.Ptr(armbatch.StorageAccountTypeStandardLRS),
DiskEncryptionSet: &armbatch.DiskEncryptionSetParameters{
ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/diskEncryptionSets/DiskEncryptionSetId"),
},
},
},
},
},
ScaleSettings: &armbatch.ScaleSettings{
FixedScale: &armbatch.FixedScaleSettings{
TargetDedicatedNodes: to.Ptr[int32](1),
ResizeTimeout: to.Ptr("PT15M"),
},
},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armbatch.PoolClientCreateResponse{
// ETag: "W/\"0x8D4EDFEBFADF4AB\""
// Pool: &armbatch.Pool{
// ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool"),
// Name: to.Ptr("testpool"),
// Type: to.Ptr("Microsoft.Batch/batchAccounts/pools"),
// Etag: to.Ptr("W/\"0x8D4EDFEBFADF4AB\""),
// Properties: &armbatch.PoolProperties{
// LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2025-06-30T07:45:46.1580726Z"); return t}()),
// CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2025-06-30T07:35:44.5579791Z"); return t}()),
// ProvisioningState: to.Ptr(armbatch.PoolProvisioningStateSucceeded),
// ProvisioningStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2025-06-30T07:35:44.5579791Z"); return t}()),
// AllocationState: to.Ptr(armbatch.AllocationStateResizing),
// AllocationStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2025-06-30T07:45:46.1580727Z"); return t}()),
// VMSize: to.Ptr("Standard_D4ds_v5"),
// InterNodeCommunication: to.Ptr(armbatch.InterNodeCommunicationStateDisabled),
// TaskSlotsPerNode: to.Ptr[int32](1),
// TaskSchedulingPolicy: &armbatch.TaskSchedulingPolicy{
// NodeFillType: to.Ptr(armbatch.ComputeNodeFillTypePack),
// JobDefaultOrder: to.Ptr(armbatch.JobDefaultOrderNone),
// },
// DeploymentConfiguration: &armbatch.DeploymentConfiguration{
// VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
// ImageReference: &armbatch.ImageReference{
// Publisher: to.Ptr("MicrosoftWindowsServer"),
// Offer: to.Ptr("WindowsServer"),
// SKU: to.Ptr("2022-Datacenter"),
// Version: to.Ptr("latest"),
// },
// NodeAgentSKUID: to.Ptr("batch.node.windows amd64"),
// OSDisk: &armbatch.OSDisk{
// Caching: to.Ptr(armbatch.CachingTypeNone),
// ManagedDisk: &armbatch.ManagedDisk{
// StorageAccountType: to.Ptr(armbatch.StorageAccountTypeStandardLRS),
// DiskEncryptionSet: &armbatch.DiskEncryptionSetParameters{
// ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/diskEncryptionSets/DiskEncryptionSetId"),
// },
// },
// },
// SecurityProfile: &armbatch.SecurityProfile{
// EncryptionAtHost: to.Ptr(false),
// },
// },
// },
// ScaleSettings: &armbatch.ScaleSettings{
// FixedScale: &armbatch.FixedScaleSettings{
// TargetDedicatedNodes: to.Ptr[int32](1),
// TargetLowPriorityNodes: to.Ptr[int32](0),
// ResizeTimeout: to.Ptr("PT15M"),
// },
// },
// ResizeOperationStatus: &armbatch.ResizeOperationStatus{
// TargetDedicatedNodes: to.Ptr[int32](1),
// NodeDeallocationOption: to.Ptr(armbatch.ComputeNodeDeallocationOptionRequeue),
// ResizeTimeout: to.Ptr("PT15M"),
// StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2025-06-30T07:45:46.1580724Z"); return t}()),
// },
// CurrentDedicatedNodes: to.Ptr[int32](0),
// CurrentLowPriorityNodes: to.Ptr[int32](0),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using System.Xml;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Batch.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Batch;
// Generated from example definition: specification/batch/resource-manager/Microsoft.Batch/Batch/stable/2025-06-01/examples/PoolCreate_DiskEncryptionSet_ForUserSubscriptionAccounts.json
// this example is just showing the usage of "Pool_Create" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this BatchAccountResource created on azure
// for more information of creating BatchAccountResource, please refer to the document of BatchAccountResource
string subscriptionId = "12345678-1234-1234-1234-123456789012";
string resourceGroupName = "default-azurebatch-japaneast";
string accountName = "sampleacct";
ResourceIdentifier batchAccountResourceId = BatchAccountResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, accountName);
BatchAccountResource batchAccount = client.GetBatchAccountResource(batchAccountResourceId);
// get the collection of this BatchAccountPoolResource
BatchAccountPoolCollection collection = batchAccount.GetBatchAccountPools();
// invoke the operation
string poolName = "testpool";
BatchAccountPoolData data = new BatchAccountPoolData
{
VmSize = "Standard_D4ds_v5",
DeploymentVmConfiguration = new BatchVmConfiguration(new BatchImageReference
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2022-Datacenter",
Version = "latest",
}, "batch.node.windows amd64")
{
OSDisk = new BatchOSDisk
{
ManagedDisk = new ManagedDisk
{
StorageAccountType = BatchStorageAccountType.StandardLrs,
DiskEncryptionSetId = new ResourceIdentifier("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/diskEncryptionSets/DiskEncryptionSetId"),
},
},
SecurityProfile = new BatchSecurityProfile
{
EncryptionAtHost = false,
},
},
ScaleSettings = new BatchAccountPoolScaleSettings
{
FixedScale = new BatchAccountFixedScaleSettings
{
ResizeTimeout = XmlConvert.ToTimeSpan("PT15M"),
TargetDedicatedNodes = 1,
},
},
TaskSchedulingPolicy = new BatchTaskSchedulingPolicy(BatchNodeFillType.Pack),
};
ArmOperation<BatchAccountPoolResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, poolName, data);
BatchAccountPoolResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
BatchAccountPoolData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Пример ответа
ETag: W/"0x8D4EDFEBFADF4AB"
{
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
"name": "testpool",
"type": "Microsoft.Batch/batchAccounts/pools",
"etag": "W/\"0x8D4EDFEBFADF4AB\"",
"properties": {
"lastModified": "2025-06-30T07:45:46.1580726Z",
"creationTime": "2025-06-30T07:35:44.5579791Z",
"provisioningState": "Succeeded",
"provisioningStateTransitionTime": "2025-06-30T07:35:44.5579791Z",
"allocationState": "Resizing",
"allocationStateTransitionTime": "2025-06-30T07:45:46.1580727Z",
"vmSize": "Standard_D4ds_v5",
"interNodeCommunication": "Disabled",
"taskSlotsPerNode": 1,
"taskSchedulingPolicy": {
"nodeFillType": "Pack",
"jobDefaultOrder": "None"
},
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"publisher": "MicrosoftWindowsServer",
"offer": "WindowsServer",
"sku": "2022-Datacenter",
"version": "latest"
},
"nodeAgentSkuId": "batch.node.windows amd64",
"osDisk": {
"caching": "None",
"managedDisk": {
"storageAccountType": "Standard_LRS",
"diskEncryptionSet": {
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/diskEncryptionSets/DiskEncryptionSetId"
}
}
},
"securityProfile": {
"encryptionAtHost": false
}
}
},
"scaleSettings": {
"fixedScale": {
"targetDedicatedNodes": 1,
"targetLowPriorityNodes": 0,
"resizeTimeout": "PT15M"
}
},
"resizeOperationStatus": {
"targetDedicatedNodes": 1,
"nodeDeallocationOption": "Requeue",
"resizeTimeout": "PT15M",
"startTime": "2025-06-30T07:45:46.1580724Z"
},
"currentDedicatedNodes": 0,
"currentLowPriorityNodes": 0
}
}
CreatePool - dual stack networking
Образец запроса
PUT https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch/providers/Microsoft.Batch/batchAccounts/exampleacc/pools/dualstackpool?api-version=2025-06-01
{
"properties": {
"vmSize": "Standard_D4ds_v5",
"networkConfiguration": {
"publicIPAddressConfiguration": {
"ipFamilies": [
"IPv4",
"IPv6"
]
},
"endpointConfiguration": {
"inboundNatPools": [
{
"backendPort": 22,
"frontendPortRangeStart": 40000,
"frontendPortRangeEnd": 40500,
"name": "sshpool",
"protocol": "TCP",
"networkSecurityGroupRules": [
{
"access": "Allow",
"priority": 1000,
"sourceAddressPrefix": "*",
"sourcePortRanges": [
"*"
]
}
]
}
]
}
},
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"publisher": "Canonical",
"offer": "ubuntu-24_04-lts",
"sku": "server"
},
"nodeAgentSkuId": "batch.node.ubuntu 24.04"
}
},
"scaleSettings": {
"fixedScale": {
"targetDedicatedNodes": 1,
"targetLowPriorityNodes": 0
}
}
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.batch import BatchManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-batch
# USAGE
python pool_create_dual_stack_networking.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = BatchManagementClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.pool.create(
resource_group_name="default-azurebatch",
account_name="exampleacc",
pool_name="dualstackpool",
parameters={
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {"offer": "ubuntu-24_04-lts", "publisher": "Canonical", "sku": "server"},
"nodeAgentSkuId": "batch.node.ubuntu 24.04",
}
},
"networkConfiguration": {
"endpointConfiguration": {
"inboundNatPools": [
{
"backendPort": 22,
"frontendPortRangeEnd": 40500,
"frontendPortRangeStart": 40000,
"name": "sshpool",
"networkSecurityGroupRules": [
{
"access": "Allow",
"priority": 1000,
"sourceAddressPrefix": "*",
"sourcePortRanges": ["*"],
}
],
"protocol": "TCP",
}
]
},
"publicIPAddressConfiguration": {"ipFamilies": ["IPv4", "IPv6"]},
},
"scaleSettings": {"fixedScale": {"targetDedicatedNodes": 1, "targetLowPriorityNodes": 0}},
"vmSize": "Standard_D4ds_v5",
}
},
)
print(response)
# x-ms-original-file: 2025-06-01/PoolCreate_DualStackNetworking.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armbatch_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/batch/armbatch/v4"
)
// Generated from example definition: 2025-06-01/PoolCreate_DualStackNetworking.json
func ExamplePoolClient_Create_createPoolDualStackNetworking() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armbatch.NewClientFactory("12345678-1234-1234-1234-123456789012", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewPoolClient().Create(ctx, "default-azurebatch", "exampleacc", "dualstackpool", armbatch.Pool{
Properties: &armbatch.PoolProperties{
VMSize: to.Ptr("Standard_D4ds_v5"),
NetworkConfiguration: &armbatch.NetworkConfiguration{
PublicIPAddressConfiguration: &armbatch.PublicIPAddressConfiguration{
IPFamilies: []*armbatch.IPFamily{
to.Ptr(armbatch.IPFamilyIPv4),
to.Ptr(armbatch.IPFamilyIPv6),
},
},
EndpointConfiguration: &armbatch.PoolEndpointConfiguration{
InboundNatPools: []*armbatch.InboundNatPool{
{
BackendPort: to.Ptr[int32](22),
FrontendPortRangeStart: to.Ptr[int32](40000),
FrontendPortRangeEnd: to.Ptr[int32](40500),
Name: to.Ptr("sshpool"),
Protocol: to.Ptr(armbatch.InboundEndpointProtocolTCP),
NetworkSecurityGroupRules: []*armbatch.NetworkSecurityGroupRule{
{
Access: to.Ptr(armbatch.NetworkSecurityGroupRuleAccessAllow),
Priority: to.Ptr[int32](1000),
SourceAddressPrefix: to.Ptr("*"),
SourcePortRanges: []*string{
to.Ptr("*"),
},
},
},
},
},
},
},
DeploymentConfiguration: &armbatch.DeploymentConfiguration{
VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
ImageReference: &armbatch.ImageReference{
Publisher: to.Ptr("Canonical"),
Offer: to.Ptr("ubuntu-24_04-lts"),
SKU: to.Ptr("server"),
},
NodeAgentSKUID: to.Ptr("batch.node.ubuntu 24.04"),
},
},
ScaleSettings: &armbatch.ScaleSettings{
FixedScale: &armbatch.FixedScaleSettings{
TargetDedicatedNodes: to.Ptr[int32](1),
TargetLowPriorityNodes: to.Ptr[int32](0),
},
},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armbatch.PoolClientCreateResponse{
// ETag: "W/\"0x8D4EDFEBFADF4AB\""
// Pool: &armbatch.Pool{
// ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/dualstackpool"),
// Name: to.Ptr("dualstackpool"),
// Type: to.Ptr("Microsoft.Batch/batchAccounts/pools"),
// Etag: to.Ptr("W/\"0x8DDC34D4A01A419\""),
// Properties: &armbatch.PoolProperties{
// LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2025-07-15T03:11:27.7998105Z"); return t}()),
// CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2025-07-15T03:11:27.7997967Z"); return t}()),
// ProvisioningState: to.Ptr(armbatch.PoolProvisioningStateSucceeded),
// ProvisioningStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2025-07-15T03:11:27.7997967Z"); return t}()),
// AllocationState: to.Ptr(armbatch.AllocationStateResizing),
// AllocationStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2025-07-15T03:11:27.7998136Z"); return t}()),
// VMSize: to.Ptr("Standard_D4ds_v5"),
// InterNodeCommunication: to.Ptr(armbatch.InterNodeCommunicationStateDisabled),
// TaskSlotsPerNode: to.Ptr[int32](1),
// TaskSchedulingPolicy: &armbatch.TaskSchedulingPolicy{
// NodeFillType: to.Ptr(armbatch.ComputeNodeFillTypeSpread),
// JobDefaultOrder: to.Ptr(armbatch.JobDefaultOrderNone),
// },
// DeploymentConfiguration: &armbatch.DeploymentConfiguration{
// VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
// ImageReference: &armbatch.ImageReference{
// Publisher: to.Ptr("Canonical"),
// Offer: to.Ptr("ubuntu-24_04-lts"),
// SKU: to.Ptr("server"),
// Version: to.Ptr("latest"),
// },
// NodeAgentSKUID: to.Ptr("batch.node.ubuntu 24.04"),
// },
// },
// NetworkConfiguration: &armbatch.NetworkConfiguration{
// PublicIPAddressConfiguration: &armbatch.PublicIPAddressConfiguration{
// IPFamilies: []*armbatch.IPFamily{
// to.Ptr(armbatch.IPFamilyIPv4),
// to.Ptr(armbatch.IPFamilyIPv6),
// },
// },
// EndpointConfiguration: &armbatch.PoolEndpointConfiguration{
// InboundNatPools: []*armbatch.InboundNatPool{
// {
// Name: to.Ptr("sshpool"),
// Protocol: to.Ptr(armbatch.InboundEndpointProtocolTCP),
// BackendPort: to.Ptr[int32](22),
// FrontendPortRangeStart: to.Ptr[int32](40000),
// FrontendPortRangeEnd: to.Ptr[int32](40500),
// NetworkSecurityGroupRules: []*armbatch.NetworkSecurityGroupRule{
// {
// Access: to.Ptr(armbatch.NetworkSecurityGroupRuleAccessAllow),
// SourceAddressPrefix: to.Ptr("*"),
// Priority: to.Ptr[int32](1000),
// SourcePortRanges: []*string{
// to.Ptr("*"),
// },
// },
// },
// },
// },
// },
// DynamicVNetAssignmentScope: to.Ptr(armbatch.DynamicVNetAssignmentScopeNone),
// EnableAcceleratedNetworking: to.Ptr(false),
// },
// ScaleSettings: &armbatch.ScaleSettings{
// FixedScale: &armbatch.FixedScaleSettings{
// TargetDedicatedNodes: to.Ptr[int32](1),
// TargetLowPriorityNodes: to.Ptr[int32](0),
// ResizeTimeout: to.Ptr("PT15M"),
// },
// },
// ResizeOperationStatus: &armbatch.ResizeOperationStatus{
// TargetDedicatedNodes: to.Ptr[int32](1),
// NodeDeallocationOption: to.Ptr(armbatch.ComputeNodeDeallocationOptionRequeue),
// ResizeTimeout: to.Ptr("PT15M"),
// StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2025-07-15T03:11:27.7994621Z"); return t}()),
// },
// CurrentDedicatedNodes: to.Ptr[int32](0),
// CurrentLowPriorityNodes: to.Ptr[int32](0),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using System.Xml;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Batch.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Batch;
// Generated from example definition: specification/batch/resource-manager/Microsoft.Batch/Batch/stable/2025-06-01/examples/PoolCreate_DualStackNetworking.json
// this example is just showing the usage of "Pool_Create" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this BatchAccountResource created on azure
// for more information of creating BatchAccountResource, please refer to the document of BatchAccountResource
string subscriptionId = "12345678-1234-1234-1234-123456789012";
string resourceGroupName = "default-azurebatch";
string accountName = "exampleacc";
ResourceIdentifier batchAccountResourceId = BatchAccountResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, accountName);
BatchAccountResource batchAccount = client.GetBatchAccountResource(batchAccountResourceId);
// get the collection of this BatchAccountPoolResource
BatchAccountPoolCollection collection = batchAccount.GetBatchAccountPools();
// invoke the operation
string poolName = "dualstackpool";
BatchAccountPoolData data = new BatchAccountPoolData
{
VmSize = "Standard_D4ds_v5",
DeploymentVmConfiguration = new BatchVmConfiguration(new BatchImageReference
{
Publisher = "Canonical",
Offer = "ubuntu-24_04-lts",
Sku = "server",
}, "batch.node.ubuntu 24.04"),
ScaleSettings = new BatchAccountPoolScaleSettings
{
FixedScale = new BatchAccountFixedScaleSettings
{
TargetDedicatedNodes = 1,
TargetLowPriorityNodes = 0,
},
},
NetworkConfiguration = new BatchNetworkConfiguration
{
EndpointInboundNatPools = {new BatchInboundNatPool("sshpool", BatchInboundEndpointProtocol.Tcp, 22, 40000, 40500)
{
NetworkSecurityGroupRules = {new BatchNetworkSecurityGroupRule(1000, BatchNetworkSecurityGroupRuleAccess.Allow, "*")
{
SourcePortRanges = {"*"},
}},
}},
PublicIPAddressConfiguration = new BatchPublicIPAddressConfiguration
{
IPFamilies = { BatchIPFamily.IPv4, BatchIPFamily.IPv6 },
},
},
};
ArmOperation<BatchAccountPoolResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, poolName, data);
BatchAccountPoolResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
BatchAccountPoolData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Пример ответа
ETag: W/"0x8D4EDFEBFADF4AB"
{
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/dualstackpool",
"name": "dualstackpool",
"type": "Microsoft.Batch/batchAccounts/pools",
"etag": "W/\"0x8DDC34D4A01A419\"",
"properties": {
"lastModified": "2025-07-15T03:11:27.7998105Z",
"creationTime": "2025-07-15T03:11:27.7997967Z",
"provisioningState": "Succeeded",
"provisioningStateTransitionTime": "2025-07-15T03:11:27.7997967Z",
"allocationState": "Resizing",
"allocationStateTransitionTime": "2025-07-15T03:11:27.7998136Z",
"vmSize": "Standard_D4ds_v5",
"interNodeCommunication": "Disabled",
"taskSlotsPerNode": 1,
"taskSchedulingPolicy": {
"nodeFillType": "Spread",
"jobDefaultOrder": "None"
},
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"publisher": "Canonical",
"offer": "ubuntu-24_04-lts",
"sku": "server",
"version": "latest"
},
"nodeAgentSkuId": "batch.node.ubuntu 24.04"
}
},
"networkConfiguration": {
"publicIPAddressConfiguration": {
"ipFamilies": [
"IPv4",
"IPv6"
]
},
"endpointConfiguration": {
"inboundNatPools": [
{
"name": "sshpool",
"protocol": "TCP",
"backendPort": 22,
"frontendPortRangeStart": 40000,
"frontendPortRangeEnd": 40500,
"networkSecurityGroupRules": [
{
"access": "Allow",
"sourceAddressPrefix": "*",
"priority": 1000,
"sourcePortRanges": [
"*"
]
}
]
}
]
},
"dynamicVnetAssignmentScope": "none",
"enableAcceleratedNetworking": false
},
"scaleSettings": {
"fixedScale": {
"targetDedicatedNodes": 1,
"targetLowPriorityNodes": 0,
"resizeTimeout": "PT15M"
}
},
"resizeOperationStatus": {
"targetDedicatedNodes": 1,
"nodeDeallocationOption": "Requeue",
"resizeTimeout": "PT15M",
"startTime": "2025-07-15T03:11:27.7994621Z"
},
"currentDedicatedNodes": 0,
"currentLowPriorityNodes": 0
}
}
CreatePool - Full VirtualMachineConfiguration
Образец запроса
PUT https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool?api-version=2025-06-01
{
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"dataDisks": [
{
"caching": "ReadWrite",
"diskSizeGB": 30,
"lun": 0,
"managedDisk": {
"storageAccountType": "StandardSSD_LRS"
}
},
{
"caching": "None",
"diskSizeGB": 200,
"lun": 1,
"managedDisk": {
"storageAccountType": "Premium_LRS"
}
}
],
"diskEncryptionConfiguration": {
"targets": [
"OsDisk",
"TemporaryDisk"
]
},
"imageReference": {
"offer": "WindowsServer",
"publisher": "MicrosoftWindowsServer",
"sku": "2016-Datacenter-SmallDisk",
"version": "latest"
},
"licenseType": "Windows_Server",
"nodeAgentSkuId": "batch.node.windows amd64",
"nodePlacementConfiguration": {
"policy": "Zonal"
},
"osDisk": {
"ephemeralOSDiskSettings": {
"placement": "CacheDisk"
}
},
"windowsConfiguration": {
"enableAutomaticUpdates": false
}
}
},
"networkConfiguration": {
"endpointConfiguration": {
"inboundNatPools": [
{
"name": "testnat",
"backendPort": 12001,
"frontendPortRangeEnd": 15100,
"frontendPortRangeStart": 15000,
"networkSecurityGroupRules": [
{
"access": "Allow",
"priority": 150,
"sourceAddressPrefix": "192.100.12.45",
"sourcePortRanges": [
"1",
"2"
]
},
{
"access": "Deny",
"priority": 3500,
"sourceAddressPrefix": "*",
"sourcePortRanges": [
"*"
]
}
],
"protocol": "TCP"
}
]
}
},
"scaleSettings": {
"autoScale": {
"evaluationInterval": "PT5M",
"formula": "$TargetDedicatedNodes=1"
}
},
"vmSize": "STANDARD_D4"
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.batch import BatchManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-batch
# USAGE
python pool_create_virtual_machine_configuration.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = BatchManagementClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.pool.create(
resource_group_name="default-azurebatch-japaneast",
account_name="sampleacct",
pool_name="testpool",
parameters={
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"dataDisks": [
{
"caching": "ReadWrite",
"diskSizeGB": 30,
"lun": 0,
"managedDisk": {"storageAccountType": "StandardSSD_LRS"},
},
{
"caching": "None",
"diskSizeGB": 200,
"lun": 1,
"managedDisk": {"storageAccountType": "Premium_LRS"},
},
],
"diskEncryptionConfiguration": {"targets": ["OsDisk", "TemporaryDisk"]},
"imageReference": {
"offer": "WindowsServer",
"publisher": "MicrosoftWindowsServer",
"sku": "2016-Datacenter-SmallDisk",
"version": "latest",
},
"licenseType": "Windows_Server",
"nodeAgentSkuId": "batch.node.windows amd64",
"nodePlacementConfiguration": {"policy": "Zonal"},
"osDisk": {"ephemeralOSDiskSettings": {"placement": "CacheDisk"}},
"windowsConfiguration": {"enableAutomaticUpdates": False},
}
},
"networkConfiguration": {
"endpointConfiguration": {
"inboundNatPools": [
{
"backendPort": 12001,
"frontendPortRangeEnd": 15100,
"frontendPortRangeStart": 15000,
"name": "testnat",
"networkSecurityGroupRules": [
{
"access": "Allow",
"priority": 150,
"sourceAddressPrefix": "192.100.12.45",
"sourcePortRanges": ["1", "2"],
},
{
"access": "Deny",
"priority": 3500,
"sourceAddressPrefix": "*",
"sourcePortRanges": ["*"],
},
],
"protocol": "TCP",
}
]
}
},
"scaleSettings": {"autoScale": {"evaluationInterval": "PT5M", "formula": "$TargetDedicatedNodes=1"}},
"vmSize": "STANDARD_D4",
}
},
)
print(response)
# x-ms-original-file: 2025-06-01/PoolCreate_VirtualMachineConfiguration.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armbatch_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/batch/armbatch/v4"
)
// Generated from example definition: 2025-06-01/PoolCreate_VirtualMachineConfiguration.json
func ExamplePoolClient_Create_createPoolFullVirtualMachineConfiguration() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armbatch.NewClientFactory("12345678-1234-1234-1234-123456789012", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewPoolClient().Create(ctx, "default-azurebatch-japaneast", "sampleacct", "testpool", armbatch.Pool{
Properties: &armbatch.PoolProperties{
DeploymentConfiguration: &armbatch.DeploymentConfiguration{
VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
DataDisks: []*armbatch.DataDisk{
{
Caching: to.Ptr(armbatch.CachingTypeReadWrite),
DiskSizeGB: to.Ptr[int32](30),
Lun: to.Ptr[int32](0),
ManagedDisk: &armbatch.ManagedDisk{
StorageAccountType: to.Ptr(armbatch.StorageAccountTypeStandardSSDLRS),
},
},
{
Caching: to.Ptr(armbatch.CachingTypeNone),
DiskSizeGB: to.Ptr[int32](200),
Lun: to.Ptr[int32](1),
ManagedDisk: &armbatch.ManagedDisk{
StorageAccountType: to.Ptr(armbatch.StorageAccountTypePremiumLRS),
},
},
},
DiskEncryptionConfiguration: &armbatch.DiskEncryptionConfiguration{
Targets: []*armbatch.DiskEncryptionTarget{
to.Ptr(armbatch.DiskEncryptionTargetOsDisk),
to.Ptr(armbatch.DiskEncryptionTargetTemporaryDisk),
},
},
ImageReference: &armbatch.ImageReference{
Offer: to.Ptr("WindowsServer"),
Publisher: to.Ptr("MicrosoftWindowsServer"),
SKU: to.Ptr("2016-Datacenter-SmallDisk"),
Version: to.Ptr("latest"),
},
LicenseType: to.Ptr("Windows_Server"),
NodeAgentSKUID: to.Ptr("batch.node.windows amd64"),
NodePlacementConfiguration: &armbatch.NodePlacementConfiguration{
Policy: to.Ptr(armbatch.NodePlacementPolicyTypeZonal),
},
OSDisk: &armbatch.OSDisk{
EphemeralOSDiskSettings: &armbatch.DiffDiskSettings{
Placement: to.Ptr("CacheDisk"),
},
},
WindowsConfiguration: &armbatch.WindowsConfiguration{
EnableAutomaticUpdates: to.Ptr(false),
},
},
},
NetworkConfiguration: &armbatch.NetworkConfiguration{
EndpointConfiguration: &armbatch.PoolEndpointConfiguration{
InboundNatPools: []*armbatch.InboundNatPool{
{
Name: to.Ptr("testnat"),
BackendPort: to.Ptr[int32](12001),
FrontendPortRangeEnd: to.Ptr[int32](15100),
FrontendPortRangeStart: to.Ptr[int32](15000),
NetworkSecurityGroupRules: []*armbatch.NetworkSecurityGroupRule{
{
Access: to.Ptr(armbatch.NetworkSecurityGroupRuleAccessAllow),
Priority: to.Ptr[int32](150),
SourceAddressPrefix: to.Ptr("192.100.12.45"),
SourcePortRanges: []*string{
to.Ptr("1"),
to.Ptr("2"),
},
},
{
Access: to.Ptr(armbatch.NetworkSecurityGroupRuleAccessDeny),
Priority: to.Ptr[int32](3500),
SourceAddressPrefix: to.Ptr("*"),
SourcePortRanges: []*string{
to.Ptr("*"),
},
},
},
Protocol: to.Ptr(armbatch.InboundEndpointProtocolTCP),
},
},
},
},
ScaleSettings: &armbatch.ScaleSettings{
AutoScale: &armbatch.AutoScaleSettings{
EvaluationInterval: to.Ptr("PT5M"),
Formula: to.Ptr("$TargetDedicatedNodes=1"),
},
},
VMSize: to.Ptr("STANDARD_D4"),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armbatch.PoolClientCreateResponse{
// ETag: "W/\"0x8D4EDFEBFADF4AB\""
// Pool: &armbatch.Pool{
// Name: to.Ptr("testpool"),
// Type: to.Ptr("Microsoft.Batch/batchAccounts/pools"),
// ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool"),
// Properties: &armbatch.PoolProperties{
// AllocationState: to.Ptr(armbatch.AllocationStateResizing),
// AllocationStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-28T10:22:55.9407275Z"); return t}()),
// CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-28T10:22:55.9407275Z"); return t}()),
// CurrentDedicatedNodes: to.Ptr[int32](0),
// CurrentLowPriorityNodes: to.Ptr[int32](0),
// DeploymentConfiguration: &armbatch.DeploymentConfiguration{
// VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
// DataDisks: []*armbatch.DataDisk{
// {
// Caching: to.Ptr(armbatch.CachingTypeReadWrite),
// DiskSizeGB: to.Ptr[int32](30),
// Lun: to.Ptr[int32](0),
// ManagedDisk: &armbatch.ManagedDisk{
// StorageAccountType: to.Ptr(armbatch.StorageAccountTypeStandardSSDLRS),
// },
// },
// {
// Caching: to.Ptr(armbatch.CachingTypeNone),
// DiskSizeGB: to.Ptr[int32](200),
// Lun: to.Ptr[int32](1),
// ManagedDisk: &armbatch.ManagedDisk{
// StorageAccountType: to.Ptr(armbatch.StorageAccountTypeStandardLRS),
// },
// },
// },
// DiskEncryptionConfiguration: &armbatch.DiskEncryptionConfiguration{
// Targets: []*armbatch.DiskEncryptionTarget{
// to.Ptr(armbatch.DiskEncryptionTargetOsDisk),
// to.Ptr(armbatch.DiskEncryptionTargetTemporaryDisk),
// },
// },
// ImageReference: &armbatch.ImageReference{
// Offer: to.Ptr("WindowsServer"),
// Publisher: to.Ptr("MicrosoftWindowsServer"),
// SKU: to.Ptr("2016-Datacenter-SmallDisk"),
// Version: to.Ptr("latest"),
// },
// LicenseType: to.Ptr("Windows_Server"),
// NodeAgentSKUID: to.Ptr("batch.node.windows amd64"),
// NodePlacementConfiguration: &armbatch.NodePlacementConfiguration{
// Policy: to.Ptr(armbatch.NodePlacementPolicyTypeZonal),
// },
// WindowsConfiguration: &armbatch.WindowsConfiguration{
// EnableAutomaticUpdates: to.Ptr(false),
// },
// },
// },
// InterNodeCommunication: to.Ptr(armbatch.InterNodeCommunicationStateDisabled),
// LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-28T10:22:55.9407275Z"); return t}()),
// NetworkConfiguration: &armbatch.NetworkConfiguration{
// EndpointConfiguration: &armbatch.PoolEndpointConfiguration{
// InboundNatPools: []*armbatch.InboundNatPool{
// {
// Name: to.Ptr("testnat"),
// BackendPort: to.Ptr[int32](12001),
// FrontendPortRangeEnd: to.Ptr[int32](15100),
// FrontendPortRangeStart: to.Ptr[int32](15000),
// NetworkSecurityGroupRules: []*armbatch.NetworkSecurityGroupRule{
// {
// Access: to.Ptr(armbatch.NetworkSecurityGroupRuleAccessAllow),
// Priority: to.Ptr[int32](150),
// SourceAddressPrefix: to.Ptr("192.100.12.45"),
// SourcePortRanges: []*string{
// to.Ptr("1"),
// to.Ptr("2"),
// },
// },
// {
// Access: to.Ptr(armbatch.NetworkSecurityGroupRuleAccessDeny),
// Priority: to.Ptr[int32](3500),
// SourceAddressPrefix: to.Ptr("*"),
// SourcePortRanges: []*string{
// to.Ptr("*"),
// },
// },
// },
// Protocol: to.Ptr(armbatch.InboundEndpointProtocolTCP),
// },
// },
// },
// },
// ProvisioningState: to.Ptr(armbatch.PoolProvisioningStateSucceeded),
// ProvisioningStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-28T10:22:55.9407275Z"); return t}()),
// ScaleSettings: &armbatch.ScaleSettings{
// AutoScale: &armbatch.AutoScaleSettings{
// EvaluationInterval: to.Ptr("PT5M"),
// Formula: to.Ptr("$TargetDedicatedNodes=1"),
// },
// },
// TaskSchedulingPolicy: &armbatch.TaskSchedulingPolicy{
// NodeFillType: to.Ptr(armbatch.ComputeNodeFillTypeSpread),
// },
// TaskSlotsPerNode: to.Ptr[int32](1),
// VMSize: to.Ptr("STANDARD_D4"),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using System.Xml;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Batch.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Batch;
// Generated from example definition: specification/batch/resource-manager/Microsoft.Batch/Batch/stable/2025-06-01/examples/PoolCreate_VirtualMachineConfiguration.json
// this example is just showing the usage of "Pool_Create" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this BatchAccountResource created on azure
// for more information of creating BatchAccountResource, please refer to the document of BatchAccountResource
string subscriptionId = "12345678-1234-1234-1234-123456789012";
string resourceGroupName = "default-azurebatch-japaneast";
string accountName = "sampleacct";
ResourceIdentifier batchAccountResourceId = BatchAccountResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, accountName);
BatchAccountResource batchAccount = client.GetBatchAccountResource(batchAccountResourceId);
// get the collection of this BatchAccountPoolResource
BatchAccountPoolCollection collection = batchAccount.GetBatchAccountPools();
// invoke the operation
string poolName = "testpool";
BatchAccountPoolData data = new BatchAccountPoolData
{
VmSize = "STANDARD_D4",
DeploymentVmConfiguration = new BatchVmConfiguration(new BatchImageReference
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2016-Datacenter-SmallDisk",
Version = "latest",
}, "batch.node.windows amd64")
{
IsAutomaticUpdateEnabled = false,
DataDisks = {new BatchVmDataDisk(0, 30)
{
Caching = BatchDiskCachingType.ReadWrite,
ManagedDisk = new ManagedDisk
{
StorageAccountType = BatchStorageAccountType.StandardSsdLrs,
},
}, new BatchVmDataDisk(1, 200)
{
Caching = BatchDiskCachingType.None,
ManagedDisk = new ManagedDisk
{
StorageAccountType = BatchStorageAccountType.PremiumLrs,
},
}},
LicenseType = "Windows_Server",
DiskEncryptionConfiguration = new BatchDiskEncryptionConfiguration
{
Targets = { BatchDiskEncryptionTarget.OSDisk, BatchDiskEncryptionTarget.TemporaryDisk },
},
NodePlacementPolicy = BatchNodePlacementPolicyType.Zonal,
OSDisk = new BatchOSDisk
{
EphemeralOSDiskPlacement = BatchDiffDiskPlacement.CacheDisk,
},
},
ScaleSettings = new BatchAccountPoolScaleSettings
{
AutoScale = new BatchAccountAutoScaleSettings("$TargetDedicatedNodes=1")
{
EvaluationInterval = XmlConvert.ToTimeSpan("PT5M"),
},
},
NetworkConfiguration = new BatchNetworkConfiguration
{
EndpointInboundNatPools = {new BatchInboundNatPool("testnat", BatchInboundEndpointProtocol.Tcp, 12001, 15000, 15100)
{
NetworkSecurityGroupRules = {new BatchNetworkSecurityGroupRule(150, BatchNetworkSecurityGroupRuleAccess.Allow, "192.100.12.45")
{
SourcePortRanges = {"1", "2"},
}, new BatchNetworkSecurityGroupRule(3500, BatchNetworkSecurityGroupRuleAccess.Deny, "*")
{
SourcePortRanges = {"*"},
}},
}},
},
};
ArmOperation<BatchAccountPoolResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, poolName, data);
BatchAccountPoolResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
BatchAccountPoolData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Пример ответа
ETag: W/"0x8D4EDFEBFADF4AB"
{
"name": "testpool",
"type": "Microsoft.Batch/batchAccounts/pools",
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
"properties": {
"allocationState": "Resizing",
"allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
"creationTime": "2017-08-28T10:22:55.9407275Z",
"currentDedicatedNodes": 0,
"currentLowPriorityNodes": 0,
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"dataDisks": [
{
"caching": "ReadWrite",
"diskSizeGB": 30,
"lun": 0,
"managedDisk": {
"storageAccountType": "StandardSSD_LRS"
}
},
{
"caching": "None",
"diskSizeGB": 200,
"lun": 1,
"managedDisk": {
"storageAccountType": "Standard_LRS"
}
}
],
"diskEncryptionConfiguration": {
"targets": [
"OsDisk",
"TemporaryDisk"
]
},
"imageReference": {
"offer": "WindowsServer",
"publisher": "MicrosoftWindowsServer",
"sku": "2016-Datacenter-SmallDisk",
"version": "latest"
},
"licenseType": "Windows_Server",
"nodeAgentSkuId": "batch.node.windows amd64",
"nodePlacementConfiguration": {
"policy": "Zonal"
},
"windowsConfiguration": {
"enableAutomaticUpdates": false
}
}
},
"interNodeCommunication": "Disabled",
"lastModified": "2017-08-28T10:22:55.9407275Z",
"networkConfiguration": {
"endpointConfiguration": {
"inboundNatPools": [
{
"name": "testnat",
"backendPort": 12001,
"frontendPortRangeEnd": 15100,
"frontendPortRangeStart": 15000,
"networkSecurityGroupRules": [
{
"access": "Allow",
"priority": 150,
"sourceAddressPrefix": "192.100.12.45",
"sourcePortRanges": [
"1",
"2"
]
},
{
"access": "Deny",
"priority": 3500,
"sourceAddressPrefix": "*",
"sourcePortRanges": [
"*"
]
}
],
"protocol": "TCP"
}
]
}
},
"provisioningState": "Succeeded",
"provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
"scaleSettings": {
"autoScale": {
"evaluationInterval": "PT5M",
"formula": "$TargetDedicatedNodes=1"
}
},
"taskSchedulingPolicy": {
"nodeFillType": "Spread"
},
"taskSlotsPerNode": 1,
"vmSize": "STANDARD_D4"
}
}
CreatePool - Minimal VirtualMachineConfiguration
Образец запроса
PUT https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool?api-version=2025-06-01
{
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"offer": "UbuntuServer",
"publisher": "Canonical",
"sku": "18.04-LTS",
"version": "latest"
},
"nodeAgentSkuId": "batch.node.ubuntu 18.04"
}
},
"scaleSettings": {
"autoScale": {
"evaluationInterval": "PT5M",
"formula": "$TargetDedicatedNodes=1"
}
},
"vmSize": "STANDARD_D4"
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.batch import BatchManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-batch
# USAGE
python pool_create_minimal_virtual_machine_configuration.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = BatchManagementClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.pool.create(
resource_group_name="default-azurebatch-japaneast",
account_name="sampleacct",
pool_name="testpool",
parameters={
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"offer": "UbuntuServer",
"publisher": "Canonical",
"sku": "18.04-LTS",
"version": "latest",
},
"nodeAgentSkuId": "batch.node.ubuntu 18.04",
}
},
"scaleSettings": {"autoScale": {"evaluationInterval": "PT5M", "formula": "$TargetDedicatedNodes=1"}},
"vmSize": "STANDARD_D4",
}
},
)
print(response)
# x-ms-original-file: 2025-06-01/PoolCreate_MinimalVirtualMachineConfiguration.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armbatch_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/batch/armbatch/v4"
)
// Generated from example definition: 2025-06-01/PoolCreate_MinimalVirtualMachineConfiguration.json
func ExamplePoolClient_Create_createPoolMinimalVirtualMachineConfiguration() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armbatch.NewClientFactory("12345678-1234-1234-1234-123456789012", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewPoolClient().Create(ctx, "default-azurebatch-japaneast", "sampleacct", "testpool", armbatch.Pool{
Properties: &armbatch.PoolProperties{
DeploymentConfiguration: &armbatch.DeploymentConfiguration{
VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
ImageReference: &armbatch.ImageReference{
Offer: to.Ptr("UbuntuServer"),
Publisher: to.Ptr("Canonical"),
SKU: to.Ptr("18.04-LTS"),
Version: to.Ptr("latest"),
},
NodeAgentSKUID: to.Ptr("batch.node.ubuntu 18.04"),
},
},
ScaleSettings: &armbatch.ScaleSettings{
AutoScale: &armbatch.AutoScaleSettings{
EvaluationInterval: to.Ptr("PT5M"),
Formula: to.Ptr("$TargetDedicatedNodes=1"),
},
},
VMSize: to.Ptr("STANDARD_D4"),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armbatch.PoolClientCreateResponse{
// ETag: "W/\"0x8D4EDFEBFADF4AB\""
// Pool: &armbatch.Pool{
// Name: to.Ptr("testpool"),
// Type: to.Ptr("Microsoft.Batch/batchAccounts/pools"),
// ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool"),
// Properties: &armbatch.PoolProperties{
// AllocationState: to.Ptr(armbatch.AllocationStateResizing),
// AllocationStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-28T10:22:55.9407275Z"); return t}()),
// CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-28T10:22:55.9407275Z"); return t}()),
// CurrentDedicatedNodes: to.Ptr[int32](0),
// CurrentLowPriorityNodes: to.Ptr[int32](0),
// DeploymentConfiguration: &armbatch.DeploymentConfiguration{
// VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
// ImageReference: &armbatch.ImageReference{
// Offer: to.Ptr("UbuntuServer"),
// Publisher: to.Ptr("Canonical"),
// SKU: to.Ptr("18.04-LTS"),
// Version: to.Ptr("latest"),
// },
// NodeAgentSKUID: to.Ptr("batch.node.ubuntu 18.04"),
// },
// },
// InterNodeCommunication: to.Ptr(armbatch.InterNodeCommunicationStateDisabled),
// LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-28T10:22:55.9407275Z"); return t}()),
// ProvisioningState: to.Ptr(armbatch.PoolProvisioningStateSucceeded),
// ProvisioningStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-28T10:22:55.9407275Z"); return t}()),
// ScaleSettings: &armbatch.ScaleSettings{
// AutoScale: &armbatch.AutoScaleSettings{
// EvaluationInterval: to.Ptr("PT5M"),
// Formula: to.Ptr("$TargetDedicatedNodes=1"),
// },
// },
// TaskSchedulingPolicy: &armbatch.TaskSchedulingPolicy{
// NodeFillType: to.Ptr(armbatch.ComputeNodeFillTypeSpread),
// },
// TaskSlotsPerNode: to.Ptr[int32](1),
// VMSize: to.Ptr("STANDARD_D4"),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using System.Xml;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Batch.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Batch;
// Generated from example definition: specification/batch/resource-manager/Microsoft.Batch/Batch/stable/2025-06-01/examples/PoolCreate_MinimalVirtualMachineConfiguration.json
// this example is just showing the usage of "Pool_Create" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this BatchAccountResource created on azure
// for more information of creating BatchAccountResource, please refer to the document of BatchAccountResource
string subscriptionId = "12345678-1234-1234-1234-123456789012";
string resourceGroupName = "default-azurebatch-japaneast";
string accountName = "sampleacct";
ResourceIdentifier batchAccountResourceId = BatchAccountResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, accountName);
BatchAccountResource batchAccount = client.GetBatchAccountResource(batchAccountResourceId);
// get the collection of this BatchAccountPoolResource
BatchAccountPoolCollection collection = batchAccount.GetBatchAccountPools();
// invoke the operation
string poolName = "testpool";
BatchAccountPoolData data = new BatchAccountPoolData
{
VmSize = "STANDARD_D4",
DeploymentVmConfiguration = new BatchVmConfiguration(new BatchImageReference
{
Publisher = "Canonical",
Offer = "UbuntuServer",
Sku = "18.04-LTS",
Version = "latest",
}, "batch.node.ubuntu 18.04"),
ScaleSettings = new BatchAccountPoolScaleSettings
{
AutoScale = new BatchAccountAutoScaleSettings("$TargetDedicatedNodes=1")
{
EvaluationInterval = XmlConvert.ToTimeSpan("PT5M"),
},
},
};
ArmOperation<BatchAccountPoolResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, poolName, data);
BatchAccountPoolResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
BatchAccountPoolData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Пример ответа
ETag: W/"0x8D4EDFEBFADF4AB"
{
"name": "testpool",
"type": "Microsoft.Batch/batchAccounts/pools",
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
"properties": {
"allocationState": "Resizing",
"allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
"creationTime": "2017-08-28T10:22:55.9407275Z",
"currentDedicatedNodes": 0,
"currentLowPriorityNodes": 0,
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"offer": "UbuntuServer",
"publisher": "Canonical",
"sku": "18.04-LTS",
"version": "latest"
},
"nodeAgentSkuId": "batch.node.ubuntu 18.04"
}
},
"interNodeCommunication": "Disabled",
"lastModified": "2017-08-28T10:22:55.9407275Z",
"provisioningState": "Succeeded",
"provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
"scaleSettings": {
"autoScale": {
"evaluationInterval": "PT5M",
"formula": "$TargetDedicatedNodes=1"
}
},
"taskSchedulingPolicy": {
"nodeFillType": "Spread"
},
"taskSlotsPerNode": 1,
"vmSize": "STANDARD_D4"
}
}
CreatePool - No public IP
Образец запроса
PUT https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool?api-version=2025-06-01
{
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1"
},
"nodeAgentSkuId": "batch.node.ubuntu 18.04"
}
},
"networkConfiguration": {
"publicIPAddressConfiguration": {
"provision": "NoPublicIPAddresses"
},
"subnetId": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123"
},
"vmSize": "STANDARD_D4"
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.batch import BatchManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-batch
# USAGE
python pool_create_no_public_ip_addresses.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = BatchManagementClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.pool.create(
resource_group_name="default-azurebatch-japaneast",
account_name="sampleacct",
pool_name="testpool",
parameters={
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1"
},
"nodeAgentSkuId": "batch.node.ubuntu 18.04",
}
},
"networkConfiguration": {
"publicIPAddressConfiguration": {"provision": "NoPublicIPAddresses"},
"subnetId": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123",
},
"vmSize": "STANDARD_D4",
}
},
)
print(response)
# x-ms-original-file: 2025-06-01/PoolCreate_NoPublicIPAddresses.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armbatch_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/batch/armbatch/v4"
)
// Generated from example definition: 2025-06-01/PoolCreate_NoPublicIPAddresses.json
func ExamplePoolClient_Create_createPoolNoPublicIP() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armbatch.NewClientFactory("12345678-1234-1234-1234-123456789012", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewPoolClient().Create(ctx, "default-azurebatch-japaneast", "sampleacct", "testpool", armbatch.Pool{
Properties: &armbatch.PoolProperties{
DeploymentConfiguration: &armbatch.DeploymentConfiguration{
VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
ImageReference: &armbatch.ImageReference{
ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1"),
},
NodeAgentSKUID: to.Ptr("batch.node.ubuntu 18.04"),
},
},
NetworkConfiguration: &armbatch.NetworkConfiguration{
PublicIPAddressConfiguration: &armbatch.PublicIPAddressConfiguration{
Provision: to.Ptr(armbatch.IPAddressProvisioningTypeNoPublicIPAddresses),
},
SubnetID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123"),
},
VMSize: to.Ptr("STANDARD_D4"),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armbatch.PoolClientCreateResponse{
// ETag: "W/\"0x8D4EDFEBFADF4AB\""
// Pool: &armbatch.Pool{
// Name: to.Ptr("testpool"),
// Type: to.Ptr("Microsoft.Batch/batchAccounts/pools"),
// ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool"),
// Properties: &armbatch.PoolProperties{
// AllocationState: to.Ptr(armbatch.AllocationStateSteady),
// AllocationStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-28T10:22:55.9407275Z"); return t}()),
// CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-28T10:22:55.9407275Z"); return t}()),
// CurrentDedicatedNodes: to.Ptr[int32](0),
// CurrentLowPriorityNodes: to.Ptr[int32](0),
// DeploymentConfiguration: &armbatch.DeploymentConfiguration{
// VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
// ImageReference: &armbatch.ImageReference{
// ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1"),
// },
// NodeAgentSKUID: to.Ptr("batch.node.ubuntu 18.04"),
// },
// },
// InterNodeCommunication: to.Ptr(armbatch.InterNodeCommunicationStateDisabled),
// LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-28T10:22:55.9407275Z"); return t}()),
// NetworkConfiguration: &armbatch.NetworkConfiguration{
// PublicIPAddressConfiguration: &armbatch.PublicIPAddressConfiguration{
// Provision: to.Ptr(armbatch.IPAddressProvisioningTypeNoPublicIPAddresses),
// },
// SubnetID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123"),
// },
// ProvisioningState: to.Ptr(armbatch.PoolProvisioningStateSucceeded),
// ProvisioningStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-28T10:22:55.9407275Z"); return t}()),
// ScaleSettings: &armbatch.ScaleSettings{
// FixedScale: &armbatch.FixedScaleSettings{
// TargetDedicatedNodes: to.Ptr[int32](0),
// TargetLowPriorityNodes: to.Ptr[int32](0),
// },
// },
// TaskSchedulingPolicy: &armbatch.TaskSchedulingPolicy{
// NodeFillType: to.Ptr(armbatch.ComputeNodeFillTypeSpread),
// },
// TaskSlotsPerNode: to.Ptr[int32](1),
// VMSize: to.Ptr("STANDARD_D4"),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using System.Xml;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Batch.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Batch;
// Generated from example definition: specification/batch/resource-manager/Microsoft.Batch/Batch/stable/2025-06-01/examples/PoolCreate_NoPublicIPAddresses.json
// this example is just showing the usage of "Pool_Create" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this BatchAccountResource created on azure
// for more information of creating BatchAccountResource, please refer to the document of BatchAccountResource
string subscriptionId = "12345678-1234-1234-1234-123456789012";
string resourceGroupName = "default-azurebatch-japaneast";
string accountName = "sampleacct";
ResourceIdentifier batchAccountResourceId = BatchAccountResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, accountName);
BatchAccountResource batchAccount = client.GetBatchAccountResource(batchAccountResourceId);
// get the collection of this BatchAccountPoolResource
BatchAccountPoolCollection collection = batchAccount.GetBatchAccountPools();
// invoke the operation
string poolName = "testpool";
BatchAccountPoolData data = new BatchAccountPoolData
{
VmSize = "STANDARD_D4",
DeploymentVmConfiguration = new BatchVmConfiguration(new BatchImageReference
{
Id = new ResourceIdentifier("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1"),
}, "batch.node.ubuntu 18.04"),
NetworkConfiguration = new BatchNetworkConfiguration
{
SubnetId = new ResourceIdentifier("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123"),
PublicIPAddressConfiguration = new BatchPublicIPAddressConfiguration
{
Provision = BatchIPAddressProvisioningType.NoPublicIPAddresses,
},
},
};
ArmOperation<BatchAccountPoolResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, poolName, data);
BatchAccountPoolResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
BatchAccountPoolData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Пример ответа
ETag: W/"0x8D4EDFEBFADF4AB"
{
"name": "testpool",
"type": "Microsoft.Batch/batchAccounts/pools",
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
"properties": {
"allocationState": "Steady",
"allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
"creationTime": "2017-08-28T10:22:55.9407275Z",
"currentDedicatedNodes": 0,
"currentLowPriorityNodes": 0,
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1"
},
"nodeAgentSkuId": "batch.node.ubuntu 18.04"
}
},
"interNodeCommunication": "Disabled",
"lastModified": "2017-08-28T10:22:55.9407275Z",
"networkConfiguration": {
"publicIPAddressConfiguration": {
"provision": "NoPublicIPAddresses"
},
"subnetId": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123"
},
"provisioningState": "Succeeded",
"provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
"scaleSettings": {
"fixedScale": {
"targetDedicatedNodes": 0,
"targetLowPriorityNodes": 0
}
},
"taskSchedulingPolicy": {
"nodeFillType": "Spread"
},
"taskSlotsPerNode": 1,
"vmSize": "STANDARD_D4"
}
}
CreatePool - Public IPs
Образец запроса
PUT https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool?api-version=2025-06-01
{
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1"
},
"nodeAgentSkuId": "batch.node.ubuntu 18.04"
}
},
"networkConfiguration": {
"publicIPAddressConfiguration": {
"ipAddressIds": [
"/subscriptions/12345678-1234-1234-1234-1234567890121/resourceGroups/rg13/providers/Microsoft.Network/publicIPAddresses/ip135"
],
"provision": "UserManaged"
},
"subnetId": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123"
},
"vmSize": "STANDARD_D4"
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.batch import BatchManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-batch
# USAGE
python pool_create_public_ips.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = BatchManagementClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.pool.create(
resource_group_name="default-azurebatch-japaneast",
account_name="sampleacct",
pool_name="testpool",
parameters={
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1"
},
"nodeAgentSkuId": "batch.node.ubuntu 18.04",
}
},
"networkConfiguration": {
"publicIPAddressConfiguration": {
"ipAddressIds": [
"/subscriptions/12345678-1234-1234-1234-1234567890121/resourceGroups/rg13/providers/Microsoft.Network/publicIPAddresses/ip135"
],
"provision": "UserManaged",
},
"subnetId": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123",
},
"vmSize": "STANDARD_D4",
}
},
)
print(response)
# x-ms-original-file: 2025-06-01/PoolCreate_PublicIPs.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armbatch_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/batch/armbatch/v4"
)
// Generated from example definition: 2025-06-01/PoolCreate_PublicIPs.json
func ExamplePoolClient_Create_createPoolPublicIPs() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armbatch.NewClientFactory("12345678-1234-1234-1234-123456789012", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewPoolClient().Create(ctx, "default-azurebatch-japaneast", "sampleacct", "testpool", armbatch.Pool{
Properties: &armbatch.PoolProperties{
DeploymentConfiguration: &armbatch.DeploymentConfiguration{
VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
ImageReference: &armbatch.ImageReference{
ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1"),
},
NodeAgentSKUID: to.Ptr("batch.node.ubuntu 18.04"),
},
},
NetworkConfiguration: &armbatch.NetworkConfiguration{
PublicIPAddressConfiguration: &armbatch.PublicIPAddressConfiguration{
IPAddressIDs: []*string{
to.Ptr("/subscriptions/12345678-1234-1234-1234-1234567890121/resourceGroups/rg13/providers/Microsoft.Network/publicIPAddresses/ip135"),
},
Provision: to.Ptr(armbatch.IPAddressProvisioningTypeUserManaged),
},
SubnetID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123"),
},
VMSize: to.Ptr("STANDARD_D4"),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armbatch.PoolClientCreateResponse{
// ETag: "W/\"0x8D4EDFEBFADF4AB\""
// Pool: &armbatch.Pool{
// Name: to.Ptr("testpool"),
// Type: to.Ptr("Microsoft.Batch/batchAccounts/pools"),
// ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool"),
// Properties: &armbatch.PoolProperties{
// AllocationState: to.Ptr(armbatch.AllocationStateSteady),
// AllocationStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-28T10:22:55.9407275Z"); return t}()),
// CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-28T10:22:55.9407275Z"); return t}()),
// CurrentDedicatedNodes: to.Ptr[int32](0),
// CurrentLowPriorityNodes: to.Ptr[int32](0),
// DeploymentConfiguration: &armbatch.DeploymentConfiguration{
// VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
// ImageReference: &armbatch.ImageReference{
// ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1"),
// },
// NodeAgentSKUID: to.Ptr("batch.node.ubuntu 18.04"),
// },
// },
// InterNodeCommunication: to.Ptr(armbatch.InterNodeCommunicationStateDisabled),
// LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-28T10:22:55.9407275Z"); return t}()),
// NetworkConfiguration: &armbatch.NetworkConfiguration{
// PublicIPAddressConfiguration: &armbatch.PublicIPAddressConfiguration{
// IPAddressIDs: []*string{
// to.Ptr("/subscriptions/12345678-1234-1234-1234-1234567890121/resourceGroups/rg13/providers/Microsoft.Network/publicIPAddresses/ip135"),
// },
// Provision: to.Ptr(armbatch.IPAddressProvisioningTypeUserManaged),
// },
// SubnetID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123"),
// },
// ProvisioningState: to.Ptr(armbatch.PoolProvisioningStateSucceeded),
// ProvisioningStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-28T10:22:55.9407275Z"); return t}()),
// ScaleSettings: &armbatch.ScaleSettings{
// FixedScale: &armbatch.FixedScaleSettings{
// TargetDedicatedNodes: to.Ptr[int32](0),
// TargetLowPriorityNodes: to.Ptr[int32](0),
// },
// },
// TaskSchedulingPolicy: &armbatch.TaskSchedulingPolicy{
// NodeFillType: to.Ptr(armbatch.ComputeNodeFillTypeSpread),
// },
// TaskSlotsPerNode: to.Ptr[int32](1),
// VMSize: to.Ptr("STANDARD_D4"),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using System.Xml;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Batch.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Batch;
// Generated from example definition: specification/batch/resource-manager/Microsoft.Batch/Batch/stable/2025-06-01/examples/PoolCreate_PublicIPs.json
// this example is just showing the usage of "Pool_Create" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this BatchAccountResource created on azure
// for more information of creating BatchAccountResource, please refer to the document of BatchAccountResource
string subscriptionId = "12345678-1234-1234-1234-123456789012";
string resourceGroupName = "default-azurebatch-japaneast";
string accountName = "sampleacct";
ResourceIdentifier batchAccountResourceId = BatchAccountResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, accountName);
BatchAccountResource batchAccount = client.GetBatchAccountResource(batchAccountResourceId);
// get the collection of this BatchAccountPoolResource
BatchAccountPoolCollection collection = batchAccount.GetBatchAccountPools();
// invoke the operation
string poolName = "testpool";
BatchAccountPoolData data = new BatchAccountPoolData
{
VmSize = "STANDARD_D4",
DeploymentVmConfiguration = new BatchVmConfiguration(new BatchImageReference
{
Id = new ResourceIdentifier("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1"),
}, "batch.node.ubuntu 18.04"),
NetworkConfiguration = new BatchNetworkConfiguration
{
SubnetId = new ResourceIdentifier("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123"),
PublicIPAddressConfiguration = new BatchPublicIPAddressConfiguration
{
Provision = BatchIPAddressProvisioningType.UserManaged,
IPAddressIds = { new ResourceIdentifier("/subscriptions/12345678-1234-1234-1234-1234567890121/resourceGroups/rg13/providers/Microsoft.Network/publicIPAddresses/ip135") },
},
},
};
ArmOperation<BatchAccountPoolResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, poolName, data);
BatchAccountPoolResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
BatchAccountPoolData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Пример ответа
ETag: W/"0x8D4EDFEBFADF4AB"
{
"name": "testpool",
"type": "Microsoft.Batch/batchAccounts/pools",
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
"properties": {
"allocationState": "Steady",
"allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
"creationTime": "2017-08-28T10:22:55.9407275Z",
"currentDedicatedNodes": 0,
"currentLowPriorityNodes": 0,
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1"
},
"nodeAgentSkuId": "batch.node.ubuntu 18.04"
}
},
"interNodeCommunication": "Disabled",
"lastModified": "2017-08-28T10:22:55.9407275Z",
"networkConfiguration": {
"publicIPAddressConfiguration": {
"ipAddressIds": [
"/subscriptions/12345678-1234-1234-1234-1234567890121/resourceGroups/rg13/providers/Microsoft.Network/publicIPAddresses/ip135"
],
"provision": "UserManaged"
},
"subnetId": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123"
},
"provisioningState": "Succeeded",
"provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
"scaleSettings": {
"fixedScale": {
"targetDedicatedNodes": 0,
"targetLowPriorityNodes": 0
}
},
"taskSchedulingPolicy": {
"nodeFillType": "Spread"
},
"taskSlotsPerNode": 1,
"vmSize": "STANDARD_D4"
}
}
CreatePool - SecurityProfile
Образец запроса
PUT https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool?api-version=2025-06-01
{
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"offer": "UbuntuServer",
"publisher": "Canonical",
"sku": "18_04-lts-gen2",
"version": "latest"
},
"nodeAgentSkuId": "batch.node.ubuntu 18.04",
"securityProfile": {
"encryptionAtHost": true,
"securityType": "trustedLaunch",
"uefiSettings": {
"secureBootEnabled": null,
"vTpmEnabled": false
}
}
}
},
"scaleSettings": {
"fixedScale": {
"targetDedicatedNodes": 1,
"targetLowPriorityNodes": 0
}
},
"vmSize": "Standard_d4s_v3"
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.batch import BatchManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-batch
# USAGE
python pool_create_security_profile.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = BatchManagementClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.pool.create(
resource_group_name="default-azurebatch-japaneast",
account_name="sampleacct",
pool_name="testpool",
parameters={
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"offer": "UbuntuServer",
"publisher": "Canonical",
"sku": "18_04-lts-gen2",
"version": "latest",
},
"nodeAgentSkuId": "batch.node.ubuntu 18.04",
"securityProfile": {
"encryptionAtHost": True,
"securityType": "trustedLaunch",
"uefiSettings": {"secureBootEnabled": None, "vTpmEnabled": False},
},
}
},
"scaleSettings": {"fixedScale": {"targetDedicatedNodes": 1, "targetLowPriorityNodes": 0}},
"vmSize": "Standard_d4s_v3",
}
},
)
print(response)
# x-ms-original-file: 2025-06-01/PoolCreate_SecurityProfile.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armbatch_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/batch/armbatch/v4"
)
// Generated from example definition: 2025-06-01/PoolCreate_SecurityProfile.json
func ExamplePoolClient_Create_createPoolSecurityProfile() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armbatch.NewClientFactory("12345678-1234-1234-1234-123456789012", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewPoolClient().Create(ctx, "default-azurebatch-japaneast", "sampleacct", "testpool", armbatch.Pool{
Properties: &armbatch.PoolProperties{
DeploymentConfiguration: &armbatch.DeploymentConfiguration{
VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
ImageReference: &armbatch.ImageReference{
Offer: to.Ptr("UbuntuServer"),
Publisher: to.Ptr("Canonical"),
SKU: to.Ptr("18_04-lts-gen2"),
Version: to.Ptr("latest"),
},
NodeAgentSKUID: to.Ptr("batch.node.ubuntu 18.04"),
SecurityProfile: &armbatch.SecurityProfile{
EncryptionAtHost: to.Ptr(true),
SecurityType: to.Ptr(armbatch.SecurityTypesTrustedLaunch),
UefiSettings: &armbatch.UefiSettings{
VTpmEnabled: to.Ptr(false),
},
},
},
},
ScaleSettings: &armbatch.ScaleSettings{
FixedScale: &armbatch.FixedScaleSettings{
TargetDedicatedNodes: to.Ptr[int32](1),
TargetLowPriorityNodes: to.Ptr[int32](0),
},
},
VMSize: to.Ptr("Standard_d4s_v3"),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armbatch.PoolClientCreateResponse{
// ETag: "W/\"0x8DB554F8E08BCF4\""
// Pool: &armbatch.Pool{
// Name: to.Ptr("testpool"),
// Type: to.Ptr("Microsoft.Batch/batchAccounts/pools"),
// ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool"),
// Properties: &armbatch.PoolProperties{
// AllocationState: to.Ptr(armbatch.AllocationStateResizing),
// AllocationStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-14T07:03:58.3231917Z"); return t}()),
// CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-14T07:03:58.3231917Z"); return t}()),
// CurrentDedicatedNodes: to.Ptr[int32](0),
// CurrentLowPriorityNodes: to.Ptr[int32](0),
// DeploymentConfiguration: &armbatch.DeploymentConfiguration{
// VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
// ImageReference: &armbatch.ImageReference{
// Offer: to.Ptr("UbuntuServer"),
// Publisher: to.Ptr("Canonical"),
// SKU: to.Ptr("18_04-lts-gen2"),
// Version: to.Ptr("latest"),
// },
// NodeAgentSKUID: to.Ptr("batch.node.ubuntu 18.04"),
// SecurityProfile: &armbatch.SecurityProfile{
// EncryptionAtHost: to.Ptr(true),
// SecurityType: to.Ptr(armbatch.SecurityTypesTrustedLaunch),
// UefiSettings: &armbatch.UefiSettings{
// VTpmEnabled: to.Ptr(false),
// },
// },
// },
// },
// InterNodeCommunication: to.Ptr(armbatch.InterNodeCommunicationStateDisabled),
// LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-14T07:03:58.3231917Z"); return t}()),
// ProvisioningState: to.Ptr(armbatch.PoolProvisioningStateSucceeded),
// ProvisioningStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-14T07:03:58.3231917Z"); return t}()),
// ResizeOperationStatus: &armbatch.ResizeOperationStatus{
// NodeDeallocationOption: to.Ptr(armbatch.ComputeNodeDeallocationOptionRequeue),
// ResizeTimeout: to.Ptr("PT15M"),
// StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-14T07:03:58.3231917Z"); return t}()),
// TargetDedicatedNodes: to.Ptr[int32](1),
// },
// ScaleSettings: &armbatch.ScaleSettings{
// FixedScale: &armbatch.FixedScaleSettings{
// ResizeTimeout: to.Ptr("PT15M"),
// TargetDedicatedNodes: to.Ptr[int32](1),
// TargetLowPriorityNodes: to.Ptr[int32](0),
// },
// },
// TaskSchedulingPolicy: &armbatch.TaskSchedulingPolicy{
// NodeFillType: to.Ptr(armbatch.ComputeNodeFillTypeSpread),
// },
// TaskSlotsPerNode: to.Ptr[int32](1),
// VMSize: to.Ptr("STANDARD_D4S_V3"),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using System.Xml;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Batch.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Batch;
// Generated from example definition: specification/batch/resource-manager/Microsoft.Batch/Batch/stable/2025-06-01/examples/PoolCreate_SecurityProfile.json
// this example is just showing the usage of "Pool_Create" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this BatchAccountResource created on azure
// for more information of creating BatchAccountResource, please refer to the document of BatchAccountResource
string subscriptionId = "12345678-1234-1234-1234-123456789012";
string resourceGroupName = "default-azurebatch-japaneast";
string accountName = "sampleacct";
ResourceIdentifier batchAccountResourceId = BatchAccountResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, accountName);
BatchAccountResource batchAccount = client.GetBatchAccountResource(batchAccountResourceId);
// get the collection of this BatchAccountPoolResource
BatchAccountPoolCollection collection = batchAccount.GetBatchAccountPools();
// invoke the operation
string poolName = "testpool";
BatchAccountPoolData data = new BatchAccountPoolData
{
VmSize = "Standard_d4s_v3",
DeploymentVmConfiguration = new BatchVmConfiguration(new BatchImageReference
{
Publisher = "Canonical",
Offer = "UbuntuServer",
Sku = "18_04-lts-gen2",
Version = "latest",
}, "batch.node.ubuntu 18.04")
{
SecurityProfile = new BatchSecurityProfile
{
SecurityType = BatchSecurityType.TrustedLaunch,
EncryptionAtHost = true,
UefiSettings = new BatchUefiSettings
{
IsSecureBootEnabled = default,
IsVTpmEnabled = false,
},
},
},
ScaleSettings = new BatchAccountPoolScaleSettings
{
FixedScale = new BatchAccountFixedScaleSettings
{
TargetDedicatedNodes = 1,
TargetLowPriorityNodes = 0,
},
},
};
ArmOperation<BatchAccountPoolResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, poolName, data);
BatchAccountPoolResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
BatchAccountPoolData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Пример ответа
ETag: W/"0x8DB554F8E08BCF4"
{
"name": "testpool",
"type": "Microsoft.Batch/batchAccounts/pools",
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
"properties": {
"allocationState": "Resizing",
"allocationStateTransitionTime": "2023-06-14T07:03:58.3231917Z",
"creationTime": "2023-06-14T07:03:58.3231917Z",
"currentDedicatedNodes": 0,
"currentLowPriorityNodes": 0,
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"offer": "UbuntuServer",
"publisher": "Canonical",
"sku": "18_04-lts-gen2",
"version": "latest"
},
"nodeAgentSkuId": "batch.node.ubuntu 18.04",
"securityProfile": {
"encryptionAtHost": true,
"securityType": "trustedLaunch",
"uefiSettings": {
"vTpmEnabled": false
}
}
}
},
"interNodeCommunication": "Disabled",
"lastModified": "2023-06-14T07:03:58.3231917Z",
"provisioningState": "Succeeded",
"provisioningStateTransitionTime": "2023-06-14T07:03:58.3231917Z",
"resizeOperationStatus": {
"nodeDeallocationOption": "Requeue",
"resizeTimeout": "PT15M",
"startTime": "2023-06-14T07:03:58.3231917Z",
"targetDedicatedNodes": 1
},
"scaleSettings": {
"fixedScale": {
"resizeTimeout": "PT15M",
"targetDedicatedNodes": 1,
"targetLowPriorityNodes": 0
}
},
"taskSchedulingPolicy": {
"nodeFillType": "Spread"
},
"taskSlotsPerNode": 1,
"vmSize": "STANDARD_D4S_V3"
}
}
Образец запроса
PUT https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool?api-version=2025-06-01
{
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"offer": "0001-com-ubuntu-server-jammy",
"publisher": "Canonical",
"sku": "22_04-lts",
"version": "latest"
},
"nodeAgentSkuId": "batch.node.ubuntu 22.04"
}
},
"scaleSettings": {
"fixedScale": {
"targetDedicatedNodes": 1,
"targetLowPriorityNodes": 0
}
},
"vmSize": "Standard_d4s_v3"
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.batch import BatchManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-batch
# USAGE
python pool_create_tags.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = BatchManagementClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.pool.create(
resource_group_name="default-azurebatch-japaneast",
account_name="sampleacct",
pool_name="testpool",
parameters={
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"offer": "0001-com-ubuntu-server-jammy",
"publisher": "Canonical",
"sku": "22_04-lts",
"version": "latest",
},
"nodeAgentSkuId": "batch.node.ubuntu 22.04",
}
},
"scaleSettings": {"fixedScale": {"targetDedicatedNodes": 1, "targetLowPriorityNodes": 0}},
"vmSize": "Standard_d4s_v3",
}
},
)
print(response)
# x-ms-original-file: 2025-06-01/PoolCreate_Tags.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armbatch_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/batch/armbatch/v4"
)
// Generated from example definition: 2025-06-01/PoolCreate_Tags.json
func ExamplePoolClient_Create_createPoolTags() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armbatch.NewClientFactory("12345678-1234-1234-1234-123456789012", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewPoolClient().Create(ctx, "default-azurebatch-japaneast", "sampleacct", "testpool", armbatch.Pool{
Properties: &armbatch.PoolProperties{
DeploymentConfiguration: &armbatch.DeploymentConfiguration{
VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
ImageReference: &armbatch.ImageReference{
Offer: to.Ptr("0001-com-ubuntu-server-jammy"),
Publisher: to.Ptr("Canonical"),
SKU: to.Ptr("22_04-lts"),
Version: to.Ptr("latest"),
},
NodeAgentSKUID: to.Ptr("batch.node.ubuntu 22.04"),
},
},
ScaleSettings: &armbatch.ScaleSettings{
FixedScale: &armbatch.FixedScaleSettings{
TargetDedicatedNodes: to.Ptr[int32](1),
TargetLowPriorityNodes: to.Ptr[int32](0),
},
},
VMSize: to.Ptr("Standard_d4s_v3"),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armbatch.PoolClientCreateResponse{
// ETag: "W/\"0x8DB554F8E08BCF4\""
// Pool: &armbatch.Pool{
// Name: to.Ptr("testpool"),
// Type: to.Ptr("Microsoft.Batch/batchAccounts/pools"),
// ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool"),
// Properties: &armbatch.PoolProperties{
// AllocationState: to.Ptr(armbatch.AllocationStateResizing),
// AllocationStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-14T07:03:58.3231917Z"); return t}()),
// CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-14T07:03:58.3231917Z"); return t}()),
// CurrentDedicatedNodes: to.Ptr[int32](0),
// CurrentLowPriorityNodes: to.Ptr[int32](0),
// DeploymentConfiguration: &armbatch.DeploymentConfiguration{
// VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
// ImageReference: &armbatch.ImageReference{
// Offer: to.Ptr("0001-com-ubuntu-server-jammy"),
// Publisher: to.Ptr("Canonical"),
// SKU: to.Ptr("22_04-lts"),
// Version: to.Ptr("latest"),
// },
// NodeAgentSKUID: to.Ptr("batch.node.ubuntu 22.04"),
// },
// },
// InterNodeCommunication: to.Ptr(armbatch.InterNodeCommunicationStateDisabled),
// LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-14T07:03:58.3231917Z"); return t}()),
// ProvisioningState: to.Ptr(armbatch.PoolProvisioningStateSucceeded),
// ProvisioningStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-06-14T07:03:58.3231917Z"); return t}()),
// ResizeOperationStatus: &armbatch.ResizeOperationStatus{
// NodeDeallocationOption: to.Ptr(armbatch.ComputeNodeDeallocationOptionRequeue),
// ResizeTimeout: to.Ptr("PT15M"),
// StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-09-27T07:33:13.0625789Z"); return t}()),
// TargetDedicatedNodes: to.Ptr[int32](1),
// },
// ScaleSettings: &armbatch.ScaleSettings{
// FixedScale: &armbatch.FixedScaleSettings{
// ResizeTimeout: to.Ptr("PT15M"),
// TargetDedicatedNodes: to.Ptr[int32](1),
// TargetLowPriorityNodes: to.Ptr[int32](0),
// },
// },
// TaskSchedulingPolicy: &armbatch.TaskSchedulingPolicy{
// NodeFillType: to.Ptr(armbatch.ComputeNodeFillTypeSpread),
// },
// TaskSlotsPerNode: to.Ptr[int32](1),
// VMSize: to.Ptr("STANDARD_D4S_V3"),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using System.Xml;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Batch.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Batch;
// Generated from example definition: specification/batch/resource-manager/Microsoft.Batch/Batch/stable/2025-06-01/examples/PoolCreate_Tags.json
// this example is just showing the usage of "Pool_Create" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this BatchAccountResource created on azure
// for more information of creating BatchAccountResource, please refer to the document of BatchAccountResource
string subscriptionId = "12345678-1234-1234-1234-123456789012";
string resourceGroupName = "default-azurebatch-japaneast";
string accountName = "sampleacct";
ResourceIdentifier batchAccountResourceId = BatchAccountResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, accountName);
BatchAccountResource batchAccount = client.GetBatchAccountResource(batchAccountResourceId);
// get the collection of this BatchAccountPoolResource
BatchAccountPoolCollection collection = batchAccount.GetBatchAccountPools();
// invoke the operation
string poolName = "testpool";
BatchAccountPoolData data = new BatchAccountPoolData
{
VmSize = "Standard_d4s_v3",
DeploymentVmConfiguration = new BatchVmConfiguration(new BatchImageReference
{
Publisher = "Canonical",
Offer = "0001-com-ubuntu-server-jammy",
Sku = "22_04-lts",
Version = "latest",
}, "batch.node.ubuntu 22.04"),
ScaleSettings = new BatchAccountPoolScaleSettings
{
FixedScale = new BatchAccountFixedScaleSettings
{
TargetDedicatedNodes = 1,
TargetLowPriorityNodes = 0,
},
},
};
ArmOperation<BatchAccountPoolResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, poolName, data);
BatchAccountPoolResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
BatchAccountPoolData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Пример ответа
ETag: W/"0x8DB554F8E08BCF4"
{
"name": "testpool",
"type": "Microsoft.Batch/batchAccounts/pools",
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
"properties": {
"allocationState": "Resizing",
"allocationStateTransitionTime": "2023-06-14T07:03:58.3231917Z",
"creationTime": "2023-06-14T07:03:58.3231917Z",
"currentDedicatedNodes": 0,
"currentLowPriorityNodes": 0,
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"offer": "0001-com-ubuntu-server-jammy",
"publisher": "Canonical",
"sku": "22_04-lts",
"version": "latest"
},
"nodeAgentSkuId": "batch.node.ubuntu 22.04"
}
},
"interNodeCommunication": "Disabled",
"lastModified": "2023-06-14T07:03:58.3231917Z",
"provisioningState": "Succeeded",
"provisioningStateTransitionTime": "2023-06-14T07:03:58.3231917Z",
"resizeOperationStatus": {
"nodeDeallocationOption": "Requeue",
"resizeTimeout": "PT15M",
"startTime": "2023-09-27T07:33:13.0625789Z",
"targetDedicatedNodes": 1
},
"scaleSettings": {
"fixedScale": {
"resizeTimeout": "PT15M",
"targetDedicatedNodes": 1,
"targetLowPriorityNodes": 0
}
},
"taskSchedulingPolicy": {
"nodeFillType": "Spread"
},
"taskSlotsPerNode": 1,
"vmSize": "STANDARD_D4S_V3"
}
}
CreatePool - UpgradePolicy
Образец запроса
PUT https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool?api-version=2025-06-01
{
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"offer": "WindowsServer",
"publisher": "MicrosoftWindowsServer",
"sku": "2019-datacenter-smalldisk",
"version": "latest"
},
"nodeAgentSkuId": "batch.node.windows amd64",
"nodePlacementConfiguration": {
"policy": "Zonal"
},
"windowsConfiguration": {
"enableAutomaticUpdates": false
}
}
},
"scaleSettings": {
"fixedScale": {
"targetDedicatedNodes": 2,
"targetLowPriorityNodes": 0
}
},
"upgradePolicy": {
"automaticOSUpgradePolicy": {
"disableAutomaticRollback": true,
"enableAutomaticOSUpgrade": true,
"osRollingUpgradeDeferral": true,
"useRollingUpgradePolicy": true
},
"mode": "automatic",
"rollingUpgradePolicy": {
"enableCrossZoneUpgrade": true,
"maxBatchInstancePercent": 20,
"maxUnhealthyInstancePercent": 20,
"maxUnhealthyUpgradedInstancePercent": 20,
"pauseTimeBetweenBatches": "PT0S",
"prioritizeUnhealthyInstances": false,
"rollbackFailedInstancesOnPolicyBreach": false
}
},
"vmSize": "Standard_d4s_v3"
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.batch import BatchManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-batch
# USAGE
python pool_create_upgrade_policy.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = BatchManagementClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.pool.create(
resource_group_name="default-azurebatch-japaneast",
account_name="sampleacct",
pool_name="testpool",
parameters={
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"offer": "WindowsServer",
"publisher": "MicrosoftWindowsServer",
"sku": "2019-datacenter-smalldisk",
"version": "latest",
},
"nodeAgentSkuId": "batch.node.windows amd64",
"nodePlacementConfiguration": {"policy": "Zonal"},
"windowsConfiguration": {"enableAutomaticUpdates": False},
}
},
"scaleSettings": {"fixedScale": {"targetDedicatedNodes": 2, "targetLowPriorityNodes": 0}},
"upgradePolicy": {
"automaticOSUpgradePolicy": {
"disableAutomaticRollback": True,
"enableAutomaticOSUpgrade": True,
"osRollingUpgradeDeferral": True,
"useRollingUpgradePolicy": True,
},
"mode": "automatic",
"rollingUpgradePolicy": {
"enableCrossZoneUpgrade": True,
"maxBatchInstancePercent": 20,
"maxUnhealthyInstancePercent": 20,
"maxUnhealthyUpgradedInstancePercent": 20,
"pauseTimeBetweenBatches": "PT0S",
"prioritizeUnhealthyInstances": False,
"rollbackFailedInstancesOnPolicyBreach": False,
},
},
"vmSize": "Standard_d4s_v3",
}
},
)
print(response)
# x-ms-original-file: 2025-06-01/PoolCreate_UpgradePolicy.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armbatch_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/batch/armbatch/v4"
)
// Generated from example definition: 2025-06-01/PoolCreate_UpgradePolicy.json
func ExamplePoolClient_Create_createPoolUpgradePolicy() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armbatch.NewClientFactory("12345678-1234-1234-1234-123456789012", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewPoolClient().Create(ctx, "default-azurebatch-japaneast", "sampleacct", "testpool", armbatch.Pool{
Properties: &armbatch.PoolProperties{
DeploymentConfiguration: &armbatch.DeploymentConfiguration{
VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
ImageReference: &armbatch.ImageReference{
Offer: to.Ptr("WindowsServer"),
Publisher: to.Ptr("MicrosoftWindowsServer"),
SKU: to.Ptr("2019-datacenter-smalldisk"),
Version: to.Ptr("latest"),
},
NodeAgentSKUID: to.Ptr("batch.node.windows amd64"),
NodePlacementConfiguration: &armbatch.NodePlacementConfiguration{
Policy: to.Ptr(armbatch.NodePlacementPolicyTypeZonal),
},
WindowsConfiguration: &armbatch.WindowsConfiguration{
EnableAutomaticUpdates: to.Ptr(false),
},
},
},
ScaleSettings: &armbatch.ScaleSettings{
FixedScale: &armbatch.FixedScaleSettings{
TargetDedicatedNodes: to.Ptr[int32](2),
TargetLowPriorityNodes: to.Ptr[int32](0),
},
},
UpgradePolicy: &armbatch.UpgradePolicy{
AutomaticOSUpgradePolicy: &armbatch.AutomaticOSUpgradePolicy{
DisableAutomaticRollback: to.Ptr(true),
EnableAutomaticOSUpgrade: to.Ptr(true),
OSRollingUpgradeDeferral: to.Ptr(true),
UseRollingUpgradePolicy: to.Ptr(true),
},
Mode: to.Ptr(armbatch.UpgradeModeAutomatic),
RollingUpgradePolicy: &armbatch.RollingUpgradePolicy{
EnableCrossZoneUpgrade: to.Ptr(true),
MaxBatchInstancePercent: to.Ptr[int32](20),
MaxUnhealthyInstancePercent: to.Ptr[int32](20),
MaxUnhealthyUpgradedInstancePercent: to.Ptr[int32](20),
PauseTimeBetweenBatches: to.Ptr("PT0S"),
PrioritizeUnhealthyInstances: to.Ptr(false),
RollbackFailedInstancesOnPolicyBreach: to.Ptr(false),
},
},
VMSize: to.Ptr("Standard_d4s_v3"),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armbatch.PoolClientCreateResponse{
// ETag: "W/\"0x8DB51E64D3C3B69\""
// Pool: &armbatch.Pool{
// Name: to.Ptr("testpool"),
// Type: to.Ptr("Microsoft.Batch/batchAccounts/pools"),
// ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool"),
// Properties: &armbatch.PoolProperties{
// AllocationState: to.Ptr(armbatch.AllocationStateResizing),
// AllocationStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-05-11T06:16:44.2372184Z"); return t}()),
// CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-05-11T06:16:44.2372184Z"); return t}()),
// CurrentDedicatedNodes: to.Ptr[int32](0),
// CurrentLowPriorityNodes: to.Ptr[int32](0),
// DeploymentConfiguration: &armbatch.DeploymentConfiguration{
// VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
// ImageReference: &armbatch.ImageReference{
// Offer: to.Ptr("WindowsServer"),
// Publisher: to.Ptr("MicrosoftWindowsServer"),
// SKU: to.Ptr("2019-datacenter-smalldisk"),
// Version: to.Ptr("latest"),
// },
// NodeAgentSKUID: to.Ptr("batch.node.windows amd64"),
// NodePlacementConfiguration: &armbatch.NodePlacementConfiguration{
// Policy: to.Ptr(armbatch.NodePlacementPolicyTypeZonal),
// },
// WindowsConfiguration: &armbatch.WindowsConfiguration{
// EnableAutomaticUpdates: to.Ptr(false),
// },
// },
// },
// InterNodeCommunication: to.Ptr(armbatch.InterNodeCommunicationStateDisabled),
// LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-05-11T06:16:44.2372184Z"); return t}()),
// ProvisioningState: to.Ptr(armbatch.PoolProvisioningStateSucceeded),
// ProvisioningStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-05-11T06:16:44.2372184Z"); return t}()),
// ResizeOperationStatus: &armbatch.ResizeOperationStatus{
// NodeDeallocationOption: to.Ptr(armbatch.ComputeNodeDeallocationOptionRequeue),
// ResizeTimeout: to.Ptr("PT15M"),
// StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-05-11T06:16:44.2372184Z"); return t}()),
// TargetDedicatedNodes: to.Ptr[int32](2),
// },
// ScaleSettings: &armbatch.ScaleSettings{
// FixedScale: &armbatch.FixedScaleSettings{
// ResizeTimeout: to.Ptr("PT15M"),
// TargetDedicatedNodes: to.Ptr[int32](2),
// TargetLowPriorityNodes: to.Ptr[int32](0),
// },
// },
// TaskSchedulingPolicy: &armbatch.TaskSchedulingPolicy{
// NodeFillType: to.Ptr(armbatch.ComputeNodeFillTypeSpread),
// },
// TaskSlotsPerNode: to.Ptr[int32](1),
// UpgradePolicy: &armbatch.UpgradePolicy{
// AutomaticOSUpgradePolicy: &armbatch.AutomaticOSUpgradePolicy{
// DisableAutomaticRollback: to.Ptr(true),
// EnableAutomaticOSUpgrade: to.Ptr(true),
// OSRollingUpgradeDeferral: to.Ptr(true),
// UseRollingUpgradePolicy: to.Ptr(true),
// },
// Mode: to.Ptr(armbatch.UpgradeModeAutomatic),
// RollingUpgradePolicy: &armbatch.RollingUpgradePolicy{
// EnableCrossZoneUpgrade: to.Ptr(true),
// MaxBatchInstancePercent: to.Ptr[int32](20),
// MaxUnhealthyInstancePercent: to.Ptr[int32](20),
// MaxUnhealthyUpgradedInstancePercent: to.Ptr[int32](20),
// PauseTimeBetweenBatches: to.Ptr("PT0S"),
// PrioritizeUnhealthyInstances: to.Ptr(false),
// RollbackFailedInstancesOnPolicyBreach: to.Ptr(false),
// },
// },
// VMSize: to.Ptr("STANDARD_D4S_V3"),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using System.Xml;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Batch.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Batch;
// Generated from example definition: specification/batch/resource-manager/Microsoft.Batch/Batch/stable/2025-06-01/examples/PoolCreate_UpgradePolicy.json
// this example is just showing the usage of "Pool_Create" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this BatchAccountResource created on azure
// for more information of creating BatchAccountResource, please refer to the document of BatchAccountResource
string subscriptionId = "12345678-1234-1234-1234-123456789012";
string resourceGroupName = "default-azurebatch-japaneast";
string accountName = "sampleacct";
ResourceIdentifier batchAccountResourceId = BatchAccountResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, accountName);
BatchAccountResource batchAccount = client.GetBatchAccountResource(batchAccountResourceId);
// get the collection of this BatchAccountPoolResource
BatchAccountPoolCollection collection = batchAccount.GetBatchAccountPools();
// invoke the operation
string poolName = "testpool";
BatchAccountPoolData data = new BatchAccountPoolData
{
VmSize = "Standard_d4s_v3",
DeploymentVmConfiguration = new BatchVmConfiguration(new BatchImageReference
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2019-datacenter-smalldisk",
Version = "latest",
}, "batch.node.windows amd64")
{
IsAutomaticUpdateEnabled = false,
NodePlacementPolicy = BatchNodePlacementPolicyType.Zonal,
},
ScaleSettings = new BatchAccountPoolScaleSettings
{
FixedScale = new BatchAccountFixedScaleSettings
{
TargetDedicatedNodes = 2,
TargetLowPriorityNodes = 0,
},
},
UpgradePolicy = new UpgradePolicy(UpgradeMode.Automatic)
{
AutomaticOSUpgradePolicy = new AutomaticOSUpgradePolicy
{
DisableAutomaticRollback = true,
EnableAutomaticOSUpgrade = true,
UseRollingUpgradePolicy = true,
OSRollingUpgradeDeferral = true,
},
RollingUpgradePolicy = new RollingUpgradePolicy
{
EnableCrossZoneUpgrade = true,
MaxBatchInstancePercent = 20,
MaxUnhealthyInstancePercent = 20,
MaxUnhealthyUpgradedInstancePercent = 20,
PauseTimeBetweenBatches = "PT0S",
PrioritizeUnhealthyInstances = false,
RollbackFailedInstancesOnPolicyBreach = false,
},
},
};
ArmOperation<BatchAccountPoolResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, poolName, data);
BatchAccountPoolResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
BatchAccountPoolData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Пример ответа
ETag: W/"0x8DB51E64D3C3B69"
{
"name": "testpool",
"type": "Microsoft.Batch/batchAccounts/pools",
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
"properties": {
"allocationState": "Resizing",
"allocationStateTransitionTime": "2023-05-11T06:16:44.2372184Z",
"creationTime": "2023-05-11T06:16:44.2372184Z",
"currentDedicatedNodes": 0,
"currentLowPriorityNodes": 0,
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"offer": "WindowsServer",
"publisher": "MicrosoftWindowsServer",
"sku": "2019-datacenter-smalldisk",
"version": "latest"
},
"nodeAgentSkuId": "batch.node.windows amd64",
"nodePlacementConfiguration": {
"policy": "Zonal"
},
"windowsConfiguration": {
"enableAutomaticUpdates": false
}
}
},
"interNodeCommunication": "Disabled",
"lastModified": "2023-05-11T06:16:44.2372184Z",
"provisioningState": "Succeeded",
"provisioningStateTransitionTime": "2023-05-11T06:16:44.2372184Z",
"resizeOperationStatus": {
"nodeDeallocationOption": "Requeue",
"resizeTimeout": "PT15M",
"startTime": "2023-05-11T06:16:44.2372184Z",
"targetDedicatedNodes": 2
},
"scaleSettings": {
"fixedScale": {
"resizeTimeout": "PT15M",
"targetDedicatedNodes": 2,
"targetLowPriorityNodes": 0
}
},
"taskSchedulingPolicy": {
"nodeFillType": "Spread"
},
"taskSlotsPerNode": 1,
"upgradePolicy": {
"automaticOSUpgradePolicy": {
"disableAutomaticRollback": true,
"enableAutomaticOSUpgrade": true,
"osRollingUpgradeDeferral": true,
"useRollingUpgradePolicy": true
},
"mode": "automatic",
"rollingUpgradePolicy": {
"enableCrossZoneUpgrade": true,
"maxBatchInstancePercent": 20,
"maxUnhealthyInstancePercent": 20,
"maxUnhealthyUpgradedInstancePercent": 20,
"pauseTimeBetweenBatches": "PT0S",
"prioritizeUnhealthyInstances": false,
"rollbackFailedInstancesOnPolicyBreach": false
}
},
"vmSize": "STANDARD_D4S_V3"
}
}
CreatePool - UserAssignedIdentities
Образец запроса
PUT https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool?api-version=2025-06-01
{
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {},
"/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": {}
}
},
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"offer": "UbuntuServer",
"publisher": "Canonical",
"sku": "18.04-LTS",
"version": "latest"
},
"nodeAgentSkuId": "batch.node.ubuntu 18.04"
}
},
"scaleSettings": {
"autoScale": {
"evaluationInterval": "PT5M",
"formula": "$TargetDedicatedNodes=1"
}
},
"vmSize": "STANDARD_D4"
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.batch import BatchManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-batch
# USAGE
python pool_create_user_assigned_identities.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = BatchManagementClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.pool.create(
resource_group_name="default-azurebatch-japaneast",
account_name="sampleacct",
pool_name="testpool",
parameters={
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {},
"/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": {},
},
},
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"offer": "UbuntuServer",
"publisher": "Canonical",
"sku": "18.04-LTS",
"version": "latest",
},
"nodeAgentSkuId": "batch.node.ubuntu 18.04",
}
},
"scaleSettings": {"autoScale": {"evaluationInterval": "PT5M", "formula": "$TargetDedicatedNodes=1"}},
"vmSize": "STANDARD_D4",
},
},
)
print(response)
# x-ms-original-file: 2025-06-01/PoolCreate_UserAssignedIdentities.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armbatch_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/batch/armbatch/v4"
)
// Generated from example definition: 2025-06-01/PoolCreate_UserAssignedIdentities.json
func ExamplePoolClient_Create_createPoolUserAssignedIdentities() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armbatch.NewClientFactory("12345678-1234-1234-1234-123456789012", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewPoolClient().Create(ctx, "default-azurebatch-japaneast", "sampleacct", "testpool", armbatch.Pool{
Identity: &armbatch.PoolIdentity{
Type: to.Ptr(armbatch.PoolIdentityTypeUserAssigned),
UserAssignedIdentities: map[string]*armbatch.UserAssignedIdentities{
"/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {},
"/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": {},
},
},
Properties: &armbatch.PoolProperties{
DeploymentConfiguration: &armbatch.DeploymentConfiguration{
VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
ImageReference: &armbatch.ImageReference{
Offer: to.Ptr("UbuntuServer"),
Publisher: to.Ptr("Canonical"),
SKU: to.Ptr("18.04-LTS"),
Version: to.Ptr("latest"),
},
NodeAgentSKUID: to.Ptr("batch.node.ubuntu 18.04"),
},
},
ScaleSettings: &armbatch.ScaleSettings{
AutoScale: &armbatch.AutoScaleSettings{
EvaluationInterval: to.Ptr("PT5M"),
Formula: to.Ptr("$TargetDedicatedNodes=1"),
},
},
VMSize: to.Ptr("STANDARD_D4"),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armbatch.PoolClientCreateResponse{
// ETag: "W/\"0x8D4EDFEBFADF4AB\""
// Pool: &armbatch.Pool{
// Name: to.Ptr("testpool"),
// Type: to.Ptr("Microsoft.Batch/batchAccounts/pools"),
// ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool"),
// Identity: &armbatch.PoolIdentity{
// Type: to.Ptr(armbatch.PoolIdentityTypeUserAssigned),
// UserAssignedIdentities: map[string]*armbatch.UserAssignedIdentities{
// "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": &armbatch.UserAssignedIdentities{
// ClientID: to.Ptr("clientId1"),
// PrincipalID: to.Ptr("principalId1"),
// },
// "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": &armbatch.UserAssignedIdentities{
// ClientID: to.Ptr("clientId2"),
// PrincipalID: to.Ptr("principalId2"),
// },
// },
// },
// Properties: &armbatch.PoolProperties{
// AllocationState: to.Ptr(armbatch.AllocationStateResizing),
// AllocationStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-10-01T10:22:55.9407275Z"); return t}()),
// CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-10-01T10:22:55.9407275Z"); return t}()),
// CurrentDedicatedNodes: to.Ptr[int32](0),
// CurrentLowPriorityNodes: to.Ptr[int32](0),
// DeploymentConfiguration: &armbatch.DeploymentConfiguration{
// VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
// ImageReference: &armbatch.ImageReference{
// Offer: to.Ptr("UbuntuServer"),
// Publisher: to.Ptr("Canonical"),
// SKU: to.Ptr("18.04-LTS"),
// Version: to.Ptr("latest"),
// },
// NodeAgentSKUID: to.Ptr("batch.node.ubuntu 18.04"),
// },
// },
// InterNodeCommunication: to.Ptr(armbatch.InterNodeCommunicationStateDisabled),
// LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-10-01T10:22:55.9407275Z"); return t}()),
// ProvisioningState: to.Ptr(armbatch.PoolProvisioningStateSucceeded),
// ProvisioningStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-10-01T10:22:55.9407275Z"); return t}()),
// ScaleSettings: &armbatch.ScaleSettings{
// AutoScale: &armbatch.AutoScaleSettings{
// EvaluationInterval: to.Ptr("PT5M"),
// Formula: to.Ptr("$TargetDedicatedNodes=1"),
// },
// },
// TaskSchedulingPolicy: &armbatch.TaskSchedulingPolicy{
// NodeFillType: to.Ptr(armbatch.ComputeNodeFillTypeSpread),
// },
// TaskSlotsPerNode: to.Ptr[int32](1),
// VMSize: to.Ptr("STANDARD_D4"),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using System.Xml;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Batch.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Batch;
// Generated from example definition: specification/batch/resource-manager/Microsoft.Batch/Batch/stable/2025-06-01/examples/PoolCreate_UserAssignedIdentities.json
// this example is just showing the usage of "Pool_Create" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this BatchAccountResource created on azure
// for more information of creating BatchAccountResource, please refer to the document of BatchAccountResource
string subscriptionId = "12345678-1234-1234-1234-123456789012";
string resourceGroupName = "default-azurebatch-japaneast";
string accountName = "sampleacct";
ResourceIdentifier batchAccountResourceId = BatchAccountResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, accountName);
BatchAccountResource batchAccount = client.GetBatchAccountResource(batchAccountResourceId);
// get the collection of this BatchAccountPoolResource
BatchAccountPoolCollection collection = batchAccount.GetBatchAccountPools();
// invoke the operation
string poolName = "testpool";
BatchAccountPoolData data = new BatchAccountPoolData
{
Identity = new ManagedServiceIdentity("UserAssigned")
{
UserAssignedIdentities =
{
[new ResourceIdentifier("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1")] = new UserAssignedIdentity(),
[new ResourceIdentifier("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2")] = new UserAssignedIdentity()
},
},
VmSize = "STANDARD_D4",
DeploymentVmConfiguration = new BatchVmConfiguration(new BatchImageReference
{
Publisher = "Canonical",
Offer = "UbuntuServer",
Sku = "18.04-LTS",
Version = "latest",
}, "batch.node.ubuntu 18.04"),
ScaleSettings = new BatchAccountPoolScaleSettings
{
AutoScale = new BatchAccountAutoScaleSettings("$TargetDedicatedNodes=1")
{
EvaluationInterval = XmlConvert.ToTimeSpan("PT5M"),
},
},
};
ArmOperation<BatchAccountPoolResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, poolName, data);
BatchAccountPoolResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
BatchAccountPoolData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Пример ответа
ETag: W/"0x8D4EDFEBFADF4AB"
{
"name": "testpool",
"type": "Microsoft.Batch/batchAccounts/pools",
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {
"clientId": "clientId1",
"principalId": "principalId1"
},
"/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": {
"clientId": "clientId2",
"principalId": "principalId2"
}
}
},
"properties": {
"allocationState": "Resizing",
"allocationStateTransitionTime": "2020-10-01T10:22:55.9407275Z",
"creationTime": "2020-10-01T10:22:55.9407275Z",
"currentDedicatedNodes": 0,
"currentLowPriorityNodes": 0,
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"offer": "UbuntuServer",
"publisher": "Canonical",
"sku": "18.04-LTS",
"version": "latest"
},
"nodeAgentSkuId": "batch.node.ubuntu 18.04"
}
},
"interNodeCommunication": "Disabled",
"lastModified": "2020-10-01T10:22:55.9407275Z",
"provisioningState": "Succeeded",
"provisioningStateTransitionTime": "2020-10-01T10:22:55.9407275Z",
"scaleSettings": {
"autoScale": {
"evaluationInterval": "PT5M",
"formula": "$TargetDedicatedNodes=1"
}
},
"taskSchedulingPolicy": {
"nodeFillType": "Spread"
},
"taskSlotsPerNode": 1,
"vmSize": "STANDARD_D4"
}
}
CreatePool - VirtualMachineConfiguration Extensions
Образец запроса
PUT https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool?api-version=2025-06-01
{
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"offer": "0001-com-ubuntu-server-focal",
"publisher": "Canonical",
"sku": "20_04-lts"
},
"nodeAgentSkuId": "batch.node.ubuntu 20.04",
"extensions": [
{
"name": "batchextension1",
"type": "KeyVaultForLinux",
"autoUpgradeMinorVersion": true,
"enableAutomaticUpgrade": true,
"publisher": "Microsoft.Azure.KeyVault",
"settings": {
"authenticationSettingsKey": "authenticationSettingsValue",
"secretsManagementSettingsKey": "secretsManagementSettingsValue"
},
"typeHandlerVersion": "2.0"
}
]
}
},
"scaleSettings": {
"autoScale": {
"evaluationInterval": "PT5M",
"formula": "$TargetDedicatedNodes=1"
}
},
"vmSize": "STANDARD_D4"
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.batch import BatchManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-batch
# USAGE
python pool_create_virtual_machine_configuration_extensions.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = BatchManagementClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.pool.create(
resource_group_name="default-azurebatch-japaneast",
account_name="sampleacct",
pool_name="testpool",
parameters={
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"extensions": [
{
"autoUpgradeMinorVersion": True,
"enableAutomaticUpgrade": True,
"name": "batchextension1",
"publisher": "Microsoft.Azure.KeyVault",
"settings": {
"authenticationSettingsKey": "authenticationSettingsValue",
"secretsManagementSettingsKey": "secretsManagementSettingsValue",
},
"type": "KeyVaultForLinux",
"typeHandlerVersion": "2.0",
}
],
"imageReference": {
"offer": "0001-com-ubuntu-server-focal",
"publisher": "Canonical",
"sku": "20_04-lts",
},
"nodeAgentSkuId": "batch.node.ubuntu 20.04",
}
},
"scaleSettings": {"autoScale": {"evaluationInterval": "PT5M", "formula": "$TargetDedicatedNodes=1"}},
"vmSize": "STANDARD_D4",
}
},
)
print(response)
# x-ms-original-file: 2025-06-01/PoolCreate_VirtualMachineConfiguration_Extensions.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armbatch_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/batch/armbatch/v4"
)
// Generated from example definition: 2025-06-01/PoolCreate_VirtualMachineConfiguration_Extensions.json
func ExamplePoolClient_Create_createPoolVirtualMachineConfigurationExtensions() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armbatch.NewClientFactory("12345678-1234-1234-1234-123456789012", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewPoolClient().Create(ctx, "default-azurebatch-japaneast", "sampleacct", "testpool", armbatch.Pool{
Properties: &armbatch.PoolProperties{
DeploymentConfiguration: &armbatch.DeploymentConfiguration{
VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
ImageReference: &armbatch.ImageReference{
Offer: to.Ptr("0001-com-ubuntu-server-focal"),
Publisher: to.Ptr("Canonical"),
SKU: to.Ptr("20_04-lts"),
},
NodeAgentSKUID: to.Ptr("batch.node.ubuntu 20.04"),
Extensions: []*armbatch.VMExtension{
{
Name: to.Ptr("batchextension1"),
Type: to.Ptr("KeyVaultForLinux"),
AutoUpgradeMinorVersion: to.Ptr(true),
EnableAutomaticUpgrade: to.Ptr(true),
Publisher: to.Ptr("Microsoft.Azure.KeyVault"),
Settings: map[string]any{
"authenticationSettingsKey": "authenticationSettingsValue",
"secretsManagementSettingsKey": "secretsManagementSettingsValue",
},
TypeHandlerVersion: to.Ptr("2.0"),
},
},
},
},
ScaleSettings: &armbatch.ScaleSettings{
AutoScale: &armbatch.AutoScaleSettings{
EvaluationInterval: to.Ptr("PT5M"),
Formula: to.Ptr("$TargetDedicatedNodes=1"),
},
},
VMSize: to.Ptr("STANDARD_D4"),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armbatch.PoolClientCreateResponse{
// ETag: "W/\"0x8D4EDFEBFADF4AB\""
// Pool: &armbatch.Pool{
// Name: to.Ptr("testpool"),
// Type: to.Ptr("Microsoft.Batch/batchAccounts/pools"),
// ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool"),
// Properties: &armbatch.PoolProperties{
// AllocationState: to.Ptr(armbatch.AllocationStateResizing),
// AllocationStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-28T10:22:55.9407275Z"); return t}()),
// CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-28T10:22:55.9407275Z"); return t}()),
// CurrentDedicatedNodes: to.Ptr[int32](0),
// CurrentLowPriorityNodes: to.Ptr[int32](0),
// DeploymentConfiguration: &armbatch.DeploymentConfiguration{
// VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
// ImageReference: &armbatch.ImageReference{
// Offer: to.Ptr("0001-com-ubuntu-server-focal"),
// Publisher: to.Ptr("Canonical"),
// SKU: to.Ptr("20_04-lts"),
// },
// NodeAgentSKUID: to.Ptr("batch.node.ubuntu 20.04"),
// Extensions: []*armbatch.VMExtension{
// {
// Name: to.Ptr("batchextension1"),
// Type: to.Ptr("KeyVaultForLinux"),
// AutoUpgradeMinorVersion: to.Ptr(true),
// EnableAutomaticUpgrade: to.Ptr(true),
// Publisher: to.Ptr("Microsoft.Azure.KeyVault"),
// Settings: map[string]any{
// "authenticationSettingsKey": "authenticationSettingsValue",
// "secretsManagementSettingsKey": "secretsManagementSettingsValue",
// },
// TypeHandlerVersion: to.Ptr("2.0"),
// },
// },
// },
// },
// InterNodeCommunication: to.Ptr(armbatch.InterNodeCommunicationStateDisabled),
// LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-28T10:22:55.9407275Z"); return t}()),
// ProvisioningState: to.Ptr(armbatch.PoolProvisioningStateSucceeded),
// ProvisioningStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2017-08-28T10:22:55.9407275Z"); return t}()),
// ScaleSettings: &armbatch.ScaleSettings{
// AutoScale: &armbatch.AutoScaleSettings{
// EvaluationInterval: to.Ptr("PT5M"),
// Formula: to.Ptr("$TargetDedicatedNodes=1"),
// },
// },
// TaskSchedulingPolicy: &armbatch.TaskSchedulingPolicy{
// NodeFillType: to.Ptr(armbatch.ComputeNodeFillTypeSpread),
// },
// TaskSlotsPerNode: to.Ptr[int32](1),
// VMSize: to.Ptr("STANDARD_D4"),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using System.Xml;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Batch.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Batch;
// Generated from example definition: specification/batch/resource-manager/Microsoft.Batch/Batch/stable/2025-06-01/examples/PoolCreate_VirtualMachineConfiguration_Extensions.json
// this example is just showing the usage of "Pool_Create" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this BatchAccountResource created on azure
// for more information of creating BatchAccountResource, please refer to the document of BatchAccountResource
string subscriptionId = "12345678-1234-1234-1234-123456789012";
string resourceGroupName = "default-azurebatch-japaneast";
string accountName = "sampleacct";
ResourceIdentifier batchAccountResourceId = BatchAccountResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, accountName);
BatchAccountResource batchAccount = client.GetBatchAccountResource(batchAccountResourceId);
// get the collection of this BatchAccountPoolResource
BatchAccountPoolCollection collection = batchAccount.GetBatchAccountPools();
// invoke the operation
string poolName = "testpool";
BatchAccountPoolData data = new BatchAccountPoolData
{
VmSize = "STANDARD_D4",
DeploymentVmConfiguration = new BatchVmConfiguration(new BatchImageReference
{
Publisher = "Canonical",
Offer = "0001-com-ubuntu-server-focal",
Sku = "20_04-lts",
}, "batch.node.ubuntu 20.04")
{
Extensions = {new BatchVmExtension("batchextension1", "Microsoft.Azure.KeyVault", "KeyVaultForLinux")
{
TypeHandlerVersion = "2.0",
AutoUpgradeMinorVersion = true,
EnableAutomaticUpgrade = true,
Settings = BinaryData.FromObjectAsJson(new
{
authenticationSettingsKey = "authenticationSettingsValue",
secretsManagementSettingsKey = "secretsManagementSettingsValue",
}),
}},
},
ScaleSettings = new BatchAccountPoolScaleSettings
{
AutoScale = new BatchAccountAutoScaleSettings("$TargetDedicatedNodes=1")
{
EvaluationInterval = XmlConvert.ToTimeSpan("PT5M"),
},
},
};
ArmOperation<BatchAccountPoolResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, poolName, data);
BatchAccountPoolResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
BatchAccountPoolData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Пример ответа
ETag: W/"0x8D4EDFEBFADF4AB"
{
"name": "testpool",
"type": "Microsoft.Batch/batchAccounts/pools",
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
"properties": {
"allocationState": "Resizing",
"allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
"creationTime": "2017-08-28T10:22:55.9407275Z",
"currentDedicatedNodes": 0,
"currentLowPriorityNodes": 0,
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"offer": "0001-com-ubuntu-server-focal",
"publisher": "Canonical",
"sku": "20_04-lts"
},
"nodeAgentSkuId": "batch.node.ubuntu 20.04",
"extensions": [
{
"name": "batchextension1",
"type": "KeyVaultForLinux",
"autoUpgradeMinorVersion": true,
"enableAutomaticUpgrade": true,
"publisher": "Microsoft.Azure.KeyVault",
"settings": {
"authenticationSettingsKey": "authenticationSettingsValue",
"secretsManagementSettingsKey": "secretsManagementSettingsValue"
},
"typeHandlerVersion": "2.0"
}
]
}
},
"interNodeCommunication": "Disabled",
"lastModified": "2017-08-28T10:22:55.9407275Z",
"provisioningState": "Succeeded",
"provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
"scaleSettings": {
"autoScale": {
"evaluationInterval": "PT5M",
"formula": "$TargetDedicatedNodes=1"
}
},
"taskSchedulingPolicy": {
"nodeFillType": "Spread"
},
"taskSlotsPerNode": 1,
"vmSize": "STANDARD_D4"
}
}
CreatePool - VirtualMachineConfiguration OSDisk
Образец запроса
PUT https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool?api-version=2025-06-01
{
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"offer": "windowsserver",
"publisher": "microsoftwindowsserver",
"sku": "2022-datacenter-smalldisk"
},
"nodeAgentSkuId": "batch.node.windows amd64",
"osDisk": {
"caching": "ReadWrite",
"diskSizeGB": 100,
"managedDisk": {
"storageAccountType": "StandardSSD_LRS"
},
"writeAcceleratorEnabled": false
}
}
},
"scaleSettings": {
"fixedScale": {
"targetDedicatedNodes": 1,
"targetLowPriorityNodes": 0
}
},
"vmSize": "Standard_d2s_v3"
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.batch import BatchManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-batch
# USAGE
python pool_create_virtual_machine_configuration_managed_os_disk.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = BatchManagementClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.pool.create(
resource_group_name="default-azurebatch-japaneast",
account_name="sampleacct",
pool_name="testpool",
parameters={
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"offer": "windowsserver",
"publisher": "microsoftwindowsserver",
"sku": "2022-datacenter-smalldisk",
},
"nodeAgentSkuId": "batch.node.windows amd64",
"osDisk": {
"caching": "ReadWrite",
"diskSizeGB": 100,
"managedDisk": {"storageAccountType": "StandardSSD_LRS"},
"writeAcceleratorEnabled": False,
},
}
},
"scaleSettings": {"fixedScale": {"targetDedicatedNodes": 1, "targetLowPriorityNodes": 0}},
"vmSize": "Standard_d2s_v3",
}
},
)
print(response)
# x-ms-original-file: 2025-06-01/PoolCreate_VirtualMachineConfiguration_ManagedOSDisk.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armbatch_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/batch/armbatch/v4"
)
// Generated from example definition: 2025-06-01/PoolCreate_VirtualMachineConfiguration_ManagedOSDisk.json
func ExamplePoolClient_Create_createPoolVirtualMachineConfigurationOSDisk() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armbatch.NewClientFactory("12345678-1234-1234-1234-123456789012", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewPoolClient().Create(ctx, "default-azurebatch-japaneast", "sampleacct", "testpool", armbatch.Pool{
Properties: &armbatch.PoolProperties{
DeploymentConfiguration: &armbatch.DeploymentConfiguration{
VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
ImageReference: &armbatch.ImageReference{
Offer: to.Ptr("windowsserver"),
Publisher: to.Ptr("microsoftwindowsserver"),
SKU: to.Ptr("2022-datacenter-smalldisk"),
},
NodeAgentSKUID: to.Ptr("batch.node.windows amd64"),
OSDisk: &armbatch.OSDisk{
Caching: to.Ptr(armbatch.CachingTypeReadWrite),
DiskSizeGB: to.Ptr[int32](100),
ManagedDisk: &armbatch.ManagedDisk{
StorageAccountType: to.Ptr(armbatch.StorageAccountTypeStandardSSDLRS),
},
WriteAcceleratorEnabled: to.Ptr(false),
},
},
},
ScaleSettings: &armbatch.ScaleSettings{
FixedScale: &armbatch.FixedScaleSettings{
TargetDedicatedNodes: to.Ptr[int32](1),
TargetLowPriorityNodes: to.Ptr[int32](0),
},
},
VMSize: to.Ptr("Standard_d2s_v3"),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armbatch.PoolClientCreateResponse{
// ETag: "W/\"0x8DB51F14DC1A8AD\""
// Pool: &armbatch.Pool{
// Name: to.Ptr("testpool"),
// Type: to.Ptr("Microsoft.Batch/batchAccounts/pools"),
// ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool"),
// Properties: &armbatch.PoolProperties{
// AllocationState: to.Ptr(armbatch.AllocationStateResizing),
// AllocationStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-08-24T02:12:27.7527697Z"); return t}()),
// CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-08-24T02:12:27.7527697Z"); return t}()),
// CurrentDedicatedNodes: to.Ptr[int32](0),
// CurrentLowPriorityNodes: to.Ptr[int32](0),
// DeploymentConfiguration: &armbatch.DeploymentConfiguration{
// VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
// ImageReference: &armbatch.ImageReference{
// Offer: to.Ptr("windowsserver"),
// Publisher: to.Ptr("microsoftwindowsserver"),
// SKU: to.Ptr("2022-datacenter-smalldisk"),
// Version: to.Ptr("latest"),
// },
// NodeAgentSKUID: to.Ptr("batch.node.windows amd64"),
// OSDisk: &armbatch.OSDisk{
// Caching: to.Ptr(armbatch.CachingTypeReadWrite),
// DiskSizeGB: to.Ptr[int32](100),
// ManagedDisk: &armbatch.ManagedDisk{
// StorageAccountType: to.Ptr(armbatch.StorageAccountTypeStandardSSDLRS),
// },
// WriteAcceleratorEnabled: to.Ptr(false),
// },
// },
// },
// InterNodeCommunication: to.Ptr(armbatch.InterNodeCommunicationStateDisabled),
// LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-08-24T02:12:27.7527697Z"); return t}()),
// ProvisioningState: to.Ptr(armbatch.PoolProvisioningStateSucceeded),
// ProvisioningStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-08-24T02:12:27.7527697Z"); return t}()),
// ResizeOperationStatus: &armbatch.ResizeOperationStatus{
// NodeDeallocationOption: to.Ptr(armbatch.ComputeNodeDeallocationOptionRequeue),
// ResizeTimeout: to.Ptr("PT15M"),
// StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-08-24T02:12:27.7527697Z"); return t}()),
// TargetDedicatedNodes: to.Ptr[int32](1),
// },
// ScaleSettings: &armbatch.ScaleSettings{
// FixedScale: &armbatch.FixedScaleSettings{
// ResizeTimeout: to.Ptr("PT15M"),
// TargetDedicatedNodes: to.Ptr[int32](1),
// TargetLowPriorityNodes: to.Ptr[int32](0),
// },
// },
// TaskSchedulingPolicy: &armbatch.TaskSchedulingPolicy{
// NodeFillType: to.Ptr(armbatch.ComputeNodeFillTypeSpread),
// },
// TaskSlotsPerNode: to.Ptr[int32](1),
// VMSize: to.Ptr("STANDARD_D2_V3"),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using System.Xml;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Batch.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Batch;
// Generated from example definition: specification/batch/resource-manager/Microsoft.Batch/Batch/stable/2025-06-01/examples/PoolCreate_VirtualMachineConfiguration_ManagedOSDisk.json
// this example is just showing the usage of "Pool_Create" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this BatchAccountResource created on azure
// for more information of creating BatchAccountResource, please refer to the document of BatchAccountResource
string subscriptionId = "12345678-1234-1234-1234-123456789012";
string resourceGroupName = "default-azurebatch-japaneast";
string accountName = "sampleacct";
ResourceIdentifier batchAccountResourceId = BatchAccountResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, accountName);
BatchAccountResource batchAccount = client.GetBatchAccountResource(batchAccountResourceId);
// get the collection of this BatchAccountPoolResource
BatchAccountPoolCollection collection = batchAccount.GetBatchAccountPools();
// invoke the operation
string poolName = "testpool";
BatchAccountPoolData data = new BatchAccountPoolData
{
VmSize = "Standard_d2s_v3",
DeploymentVmConfiguration = new BatchVmConfiguration(new BatchImageReference
{
Publisher = "microsoftwindowsserver",
Offer = "windowsserver",
Sku = "2022-datacenter-smalldisk",
}, "batch.node.windows amd64")
{
OSDisk = new BatchOSDisk
{
Caching = BatchDiskCachingType.ReadWrite,
ManagedDisk = new ManagedDisk
{
StorageAccountType = BatchStorageAccountType.StandardSsdLrs,
},
DiskSizeGB = 100,
IsWriteAcceleratorEnabled = false,
},
},
ScaleSettings = new BatchAccountPoolScaleSettings
{
FixedScale = new BatchAccountFixedScaleSettings
{
TargetDedicatedNodes = 1,
TargetLowPriorityNodes = 0,
},
},
};
ArmOperation<BatchAccountPoolResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, poolName, data);
BatchAccountPoolResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
BatchAccountPoolData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Пример ответа
ETag: W/"0x8DB51F14DC1A8AD"
{
"name": "testpool",
"type": "Microsoft.Batch/batchAccounts/pools",
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
"properties": {
"allocationState": "Resizing",
"allocationStateTransitionTime": "2023-08-24T02:12:27.7527697Z",
"creationTime": "2023-08-24T02:12:27.7527697Z",
"currentDedicatedNodes": 0,
"currentLowPriorityNodes": 0,
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"offer": "windowsserver",
"publisher": "microsoftwindowsserver",
"sku": "2022-datacenter-smalldisk",
"version": "latest"
},
"nodeAgentSkuId": "batch.node.windows amd64",
"osDisk": {
"caching": "ReadWrite",
"diskSizeGB": 100,
"managedDisk": {
"storageAccountType": "StandardSSD_LRS"
},
"writeAcceleratorEnabled": false
}
}
},
"interNodeCommunication": "Disabled",
"lastModified": "2023-08-24T02:12:27.7527697Z",
"provisioningState": "Succeeded",
"provisioningStateTransitionTime": "2023-08-24T02:12:27.7527697Z",
"resizeOperationStatus": {
"nodeDeallocationOption": "Requeue",
"resizeTimeout": "PT15M",
"startTime": "2023-08-24T02:12:27.7527697Z",
"targetDedicatedNodes": 1
},
"scaleSettings": {
"fixedScale": {
"resizeTimeout": "PT15M",
"targetDedicatedNodes": 1,
"targetLowPriorityNodes": 0
}
},
"taskSchedulingPolicy": {
"nodeFillType": "Spread"
},
"taskSlotsPerNode": 1,
"vmSize": "STANDARD_D2_V3"
}
}
CreatePool - VirtualMachineConfiguration ServiceArtifactReference
Образец запроса
PUT https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool?api-version=2025-06-01
{
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"offer": "WindowsServer",
"publisher": "MicrosoftWindowsServer",
"sku": "2019-datacenter-smalldisk",
"version": "latest"
},
"nodeAgentSkuId": "batch.node.windows amd64",
"serviceArtifactReference": {
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/galleries/myGallery/serviceArtifacts/myServiceArtifact/vmArtifactsProfiles/vmArtifactsProfile"
},
"windowsConfiguration": {
"enableAutomaticUpdates": false
}
}
},
"scaleSettings": {
"fixedScale": {
"targetDedicatedNodes": 2,
"targetLowPriorityNodes": 0
}
},
"upgradePolicy": {
"automaticOSUpgradePolicy": {
"enableAutomaticOSUpgrade": true
},
"mode": "automatic"
},
"vmSize": "Standard_d4s_v3"
}
}
from azure.identity import DefaultAzureCredential
from azure.mgmt.batch import BatchManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-batch
# USAGE
python pool_create_virtual_machine_configuration_service_artifact_reference.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = BatchManagementClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.pool.create(
resource_group_name="default-azurebatch-japaneast",
account_name="sampleacct",
pool_name="testpool",
parameters={
"properties": {
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"offer": "WindowsServer",
"publisher": "MicrosoftWindowsServer",
"sku": "2019-datacenter-smalldisk",
"version": "latest",
},
"nodeAgentSkuId": "batch.node.windows amd64",
"serviceArtifactReference": {
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/galleries/myGallery/serviceArtifacts/myServiceArtifact/vmArtifactsProfiles/vmArtifactsProfile"
},
"windowsConfiguration": {"enableAutomaticUpdates": False},
}
},
"scaleSettings": {"fixedScale": {"targetDedicatedNodes": 2, "targetLowPriorityNodes": 0}},
"upgradePolicy": {"automaticOSUpgradePolicy": {"enableAutomaticOSUpgrade": True}, "mode": "automatic"},
"vmSize": "Standard_d4s_v3",
}
},
)
print(response)
# x-ms-original-file: 2025-06-01/PoolCreate_VirtualMachineConfiguration_ServiceArtifactReference.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armbatch_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/batch/armbatch/v4"
)
// Generated from example definition: 2025-06-01/PoolCreate_VirtualMachineConfiguration_ServiceArtifactReference.json
func ExamplePoolClient_Create_createPoolVirtualMachineConfigurationServiceArtifactReference() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armbatch.NewClientFactory("12345678-1234-1234-1234-123456789012", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewPoolClient().Create(ctx, "default-azurebatch-japaneast", "sampleacct", "testpool", armbatch.Pool{
Properties: &armbatch.PoolProperties{
DeploymentConfiguration: &armbatch.DeploymentConfiguration{
VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
ImageReference: &armbatch.ImageReference{
Offer: to.Ptr("WindowsServer"),
Publisher: to.Ptr("MicrosoftWindowsServer"),
SKU: to.Ptr("2019-datacenter-smalldisk"),
Version: to.Ptr("latest"),
},
NodeAgentSKUID: to.Ptr("batch.node.windows amd64"),
ServiceArtifactReference: &armbatch.ServiceArtifactReference{
ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/galleries/myGallery/serviceArtifacts/myServiceArtifact/vmArtifactsProfiles/vmArtifactsProfile"),
},
WindowsConfiguration: &armbatch.WindowsConfiguration{
EnableAutomaticUpdates: to.Ptr(false),
},
},
},
ScaleSettings: &armbatch.ScaleSettings{
FixedScale: &armbatch.FixedScaleSettings{
TargetDedicatedNodes: to.Ptr[int32](2),
TargetLowPriorityNodes: to.Ptr[int32](0),
},
},
UpgradePolicy: &armbatch.UpgradePolicy{
AutomaticOSUpgradePolicy: &armbatch.AutomaticOSUpgradePolicy{
EnableAutomaticOSUpgrade: to.Ptr(true),
},
Mode: to.Ptr(armbatch.UpgradeModeAutomatic),
},
VMSize: to.Ptr("Standard_d4s_v3"),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armbatch.PoolClientCreateResponse{
// ETag: "W/\"0x8DB51F14DC1A8AD\""
// Pool: &armbatch.Pool{
// Name: to.Ptr("mypool41"),
// Type: to.Ptr("Microsoft.Batch/batchAccounts/pools"),
// ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool"),
// Properties: &armbatch.PoolProperties{
// AllocationState: to.Ptr(armbatch.AllocationStateResizing),
// AllocationStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-05-11T07:44:44.8580493Z"); return t}()),
// CreationTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-05-11T07:44:44.8580493Z"); return t}()),
// CurrentDedicatedNodes: to.Ptr[int32](0),
// CurrentLowPriorityNodes: to.Ptr[int32](0),
// DeploymentConfiguration: &armbatch.DeploymentConfiguration{
// VirtualMachineConfiguration: &armbatch.VirtualMachineConfiguration{
// ImageReference: &armbatch.ImageReference{
// Offer: to.Ptr("WindowsServer"),
// Publisher: to.Ptr("MicrosoftWindowsServer"),
// SKU: to.Ptr("2019-datacenter-smalldisk"),
// Version: to.Ptr("latest"),
// },
// NodeAgentSKUID: to.Ptr("batch.node.windows amd64"),
// ServiceArtifactReference: &armbatch.ServiceArtifactReference{
// ID: to.Ptr("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/galleries/myGallery/serviceArtifacts/myServiceArtifact/vmArtifactsProfiles/vmArtifactsProfile"),
// },
// WindowsConfiguration: &armbatch.WindowsConfiguration{
// EnableAutomaticUpdates: to.Ptr(false),
// },
// },
// },
// InterNodeCommunication: to.Ptr(armbatch.InterNodeCommunicationStateDisabled),
// LastModified: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-05-11T07:44:44.8580493Z"); return t}()),
// ProvisioningState: to.Ptr(armbatch.PoolProvisioningStateSucceeded),
// ProvisioningStateTransitionTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-05-11T07:44:44.8580493Z"); return t}()),
// ResizeOperationStatus: &armbatch.ResizeOperationStatus{
// NodeDeallocationOption: to.Ptr(armbatch.ComputeNodeDeallocationOptionRequeue),
// ResizeTimeout: to.Ptr("PT15M"),
// StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-05-11T07:44:44.8580493Z"); return t}()),
// TargetDedicatedNodes: to.Ptr[int32](2),
// },
// ScaleSettings: &armbatch.ScaleSettings{
// FixedScale: &armbatch.FixedScaleSettings{
// ResizeTimeout: to.Ptr("PT15M"),
// TargetDedicatedNodes: to.Ptr[int32](2),
// TargetLowPriorityNodes: to.Ptr[int32](0),
// },
// },
// TaskSchedulingPolicy: &armbatch.TaskSchedulingPolicy{
// NodeFillType: to.Ptr(armbatch.ComputeNodeFillTypeSpread),
// },
// TaskSlotsPerNode: to.Ptr[int32](1),
// UpgradePolicy: &armbatch.UpgradePolicy{
// AutomaticOSUpgradePolicy: &armbatch.AutomaticOSUpgradePolicy{
// EnableAutomaticOSUpgrade: to.Ptr(true),
// },
// Mode: to.Ptr(armbatch.UpgradeModeAutomatic),
// },
// VMSize: to.Ptr("STANDARD_D4S_V3"),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using System.Xml;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Batch.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Batch;
// Generated from example definition: specification/batch/resource-manager/Microsoft.Batch/Batch/stable/2025-06-01/examples/PoolCreate_VirtualMachineConfiguration_ServiceArtifactReference.json
// this example is just showing the usage of "Pool_Create" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this BatchAccountResource created on azure
// for more information of creating BatchAccountResource, please refer to the document of BatchAccountResource
string subscriptionId = "12345678-1234-1234-1234-123456789012";
string resourceGroupName = "default-azurebatch-japaneast";
string accountName = "sampleacct";
ResourceIdentifier batchAccountResourceId = BatchAccountResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, accountName);
BatchAccountResource batchAccount = client.GetBatchAccountResource(batchAccountResourceId);
// get the collection of this BatchAccountPoolResource
BatchAccountPoolCollection collection = batchAccount.GetBatchAccountPools();
// invoke the operation
string poolName = "testpool";
BatchAccountPoolData data = new BatchAccountPoolData
{
VmSize = "Standard_d4s_v3",
DeploymentVmConfiguration = new BatchVmConfiguration(new BatchImageReference
{
Publisher = "MicrosoftWindowsServer",
Offer = "WindowsServer",
Sku = "2019-datacenter-smalldisk",
Version = "latest",
}, "batch.node.windows amd64")
{
IsAutomaticUpdateEnabled = false,
ServiceArtifactReferenceId = new ResourceIdentifier("/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/galleries/myGallery/serviceArtifacts/myServiceArtifact/vmArtifactsProfiles/vmArtifactsProfile"),
},
ScaleSettings = new BatchAccountPoolScaleSettings
{
FixedScale = new BatchAccountFixedScaleSettings
{
TargetDedicatedNodes = 2,
TargetLowPriorityNodes = 0,
},
},
UpgradePolicy = new UpgradePolicy(UpgradeMode.Automatic)
{
AutomaticOSUpgradePolicy = new AutomaticOSUpgradePolicy
{
EnableAutomaticOSUpgrade = true,
},
},
};
ArmOperation<BatchAccountPoolResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, poolName, data);
BatchAccountPoolResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
BatchAccountPoolData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Пример ответа
ETag: W/"0x8DB51F14DC1A8AD"
{
"name": "mypool41",
"type": "Microsoft.Batch/batchAccounts/pools",
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
"properties": {
"allocationState": "Resizing",
"allocationStateTransitionTime": "2023-05-11T07:44:44.8580493Z",
"creationTime": "2023-05-11T07:44:44.8580493Z",
"currentDedicatedNodes": 0,
"currentLowPriorityNodes": 0,
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"offer": "WindowsServer",
"publisher": "MicrosoftWindowsServer",
"sku": "2019-datacenter-smalldisk",
"version": "latest"
},
"nodeAgentSkuId": "batch.node.windows amd64",
"serviceArtifactReference": {
"id": "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Compute/galleries/myGallery/serviceArtifacts/myServiceArtifact/vmArtifactsProfiles/vmArtifactsProfile"
},
"windowsConfiguration": {
"enableAutomaticUpdates": false
}
}
},
"interNodeCommunication": "Disabled",
"lastModified": "2023-05-11T07:44:44.8580493Z",
"provisioningState": "Succeeded",
"provisioningStateTransitionTime": "2023-05-11T07:44:44.8580493Z",
"resizeOperationStatus": {
"nodeDeallocationOption": "Requeue",
"resizeTimeout": "PT15M",
"startTime": "2023-05-11T07:44:44.8580493Z",
"targetDedicatedNodes": 2
},
"scaleSettings": {
"fixedScale": {
"resizeTimeout": "PT15M",
"targetDedicatedNodes": 2,
"targetLowPriorityNodes": 0
}
},
"taskSchedulingPolicy": {
"nodeFillType": "Spread"
},
"taskSlotsPerNode": 1,
"upgradePolicy": {
"automaticOSUpgradePolicy": {
"enableAutomaticOSUpgrade": true
},
"mode": "automatic"
},
"vmSize": "STANDARD_D4S_V3"
}
}
Определения
| Имя |
Описание |
|
AllocationState
|
Изменяется ли размер пула.
|
|
ApplicationPackageReference
|
Ссылка на пакет приложения в учетной записи пакетной службы
|
|
AutomaticOSUpgradePolicy
|
Параметры конфигурации, используемые для автоматического обновления ОС.
|
|
AutoScaleRun
|
Результаты и ошибки из выполнения формулы автомасштабирования пула.
|
|
AutoScaleRunError
|
Ошибка, возникающая при автомасштабировании пула.
|
|
AutoScaleSettings
|
Параметры автомасштабирования для пула.
|
|
AutoUserScope
|
Значением по умолчанию является пул. Если пул работает под управлением Windows, необходимо указать значение задачи, если требуется более строгая изоляция между задачами. Например, если задача изменяет реестр таким образом, что это может повлиять на другие задачи.
|
|
AutoUserSpecification
|
Задает параметры для автоматического пользователя, выполняющего задачу в пакетной службе.
|
|
AzureBlobFileSystemConfiguration
|
Сведения, используемые для подключения к контейнеру службы хранилища Azure с помощью Blobfuse.
|
|
AzureFileShareConfiguration
|
Сведения, используемые для подключения к общей папке Azure.
|
|
BatchPoolIdentity
|
Удостоверение пула пакетной службы, если настроено. Если удостоверение пула обновляется во время обновления существующего пула, то только новые виртуальные машины, созданные после сжатия пула до 0, будут иметь обновленные удостоверения.
|
|
CachingType
|
Тип кэширования для диска.
|
|
CIFSMountConfiguration
|
Сведения, используемые для подключения к файловой системе CIFS.
|
|
CloudError
|
Ответ на ошибку из пакетной службы.
|
|
CloudErrorBody
|
Ответ на ошибку из пакетной службы.
|
|
ComputeNodeDeallocationOption
|
Определяет, что делать с узлом и его выполняемыми задачами после выбора для размещения сделки.
|
|
ComputeNodeFillType
|
Порядок распределения задач между вычислительными узлами.
|
|
ComputeNodeIdentityReference
|
Ссылка на назначенное пользователем удостоверение, связанное с пулом пакетной службы, который будет использовать вычислительный узел.
|
|
ContainerConfiguration
|
Конфигурация пулов с поддержкой контейнера.
|
|
ContainerHostBatchBindMountEntry
|
Вход пути и режима подключения, который требуется подключить к контейнеру задач.
|
|
ContainerHostDataPath
|
Пути, которые будут подключены к контейнеру задачи контейнера.
|
|
ContainerRegistry
|
Частный реестр контейнеров.
|
|
ContainerType
|
Используемая технология контейнера.
|
|
ContainerWorkingDirectory
|
Флаг, указывающий, где находится рабочий каталог задачи контейнера. Значение по умолчанию — taskWorkingDirectory.
|
|
createdByType
|
Тип удостоверения, создавшего ресурс.
|
|
DataDisk
|
Параметры, которые будут использоваться дисками данных, связанными с вычислительными узлами в пуле. При использовании подключенных дисков данных необходимо подключить и отформатировать диски в виртуальной машине, чтобы использовать их.
|
|
DeploymentConfiguration
|
Свойства конфигурации развертывания.
|
|
DiffDiskPlacement
|
Место, куда должен быть размещён диск ОС.
|
|
DiffDiskSettings
|
Задает временные параметры диска для диска операционной системы, используемого виртуальной машиной.
|
|
DiskCustomerManagedKey
|
Ссылка на ключ, управляемый клиентом, для шифрования диска.
|
|
DiskEncryptionConfiguration
|
Конфигурация шифрования дисков, примененная к вычислительным узлам в пуле. Конфигурация шифрования дисков не поддерживается в пуле Linux, созданном с помощью образа виртуальной машины или образа коллекции вычислений Azure.
|
|
DiskEncryptionSetParameters
|
Идентификатор ресурса ARM набора шифрования диска.
|
|
DiskEncryptionTarget
|
Если опущено, диски на вычислительных узлах в пуле не будут зашифрованы.
|
|
DynamicVNetAssignmentScope
|
Область динамического назначения виртуальной сети.
|
|
ElevationLevel
|
Уровень повышения прав пользователя.
|
|
EnvironmentSetting
|
Переменная среды, устанавливаемая в процессе задачи.
|
|
FixedScaleSettings
|
Исправлены параметры масштабирования для пула.
|
|
HostEndpointSettings
|
Указывает определенные параметры конечной точки узла.
|
|
HostEndpointSettingsModeTypes
|
Указывает режим выполнения политики управления доступом.
|
|
ImageReference
|
Ссылка на образ Виртуальной машины Azure Marketplace или ресурс образа Azure настраиваемой виртуальной машины. Чтобы получить список всех образовReference, проверенных пакетной службой Azure, см. операцию "Список поддерживаемых номеров SKU агента узлов".
|
|
InboundEndpointProtocol
|
Протокол конечной точки.
|
|
InboundNatPool
|
Входящий пул NAT, который можно использовать для решения конкретных портов на вычислительных узлах в пуле пакетной службы во внешней среде.
|
|
InterNodeCommunicationState
|
Это накладывает ограничения на назначение узлов пулу. Включение этого значения может снизить вероятность выделения запрошенного количества узлов в пуле. Если этот параметр не указан, значение по умолчанию имеет значение "Отключено".
|
|
IPAddressProvisioningType
|
Тип подготовки для общедоступных IP-адресов для пула пакетной службы.
|
|
IPFamily
|
Семейства IP-адресов, используемые для указания версий IP-адресов, доступных для пула.
|
|
IPTag
|
Указывает, как задачи должны распределяться между вычислительными узлами.
|
|
JobDefaultOrder
|
Порядок планирования задач из разных заданий с одинаковым приоритетом.
|
|
LinuxUserConfiguration
|
Свойства, используемые для создания учетной записи пользователя на узле Linux.
|
|
LoginMode
|
Задает режим входа для пользователя. Значение по умолчанию — Interactive.
|
|
ManagedDisk
|
Параметры управляемого диска.
|
|
MetadataItem
|
Пара "имя-значение", связанная с ресурсом пакетной службы.
|
|
MountConfiguration
|
Файловая система для подключения на каждом узле.
|
|
NetworkConfiguration
|
Конфигурация сети для пула.
|
|
NetworkSecurityGroupRule
|
Правило группы безопасности сети для применения к входящей конечной точке.
|
|
NetworkSecurityGroupRuleAccess
|
Действие, которое следует предпринять для указанного IP-адреса, диапазона подсети или тега.
|
|
NFSMountConfiguration
|
Сведения, используемые для подключения к файловой системе NFS.
|
|
NodePlacementConfiguration
|
Конфигурация размещения узлов для пакетных пулов.
|
|
NodePlacementPolicyType
|
Значение по умолчанию — региональное.
|
|
OSDisk
|
Параметры диска операционной системы виртуальной машины.
|
|
Pool
|
Содержит сведения о пуле.
|
|
PoolEndpointConfiguration
|
Конфигурация конечной точки для пула.
|
|
PoolIdentityType
|
Тип удостоверения, используемого для пула пакетной службы.
|
|
PoolProvisioningState
|
Текущее состояние пула.
|
|
ProxyAgentSettings
|
Задает параметры ProxyAgent при создании виртуальной машины.
|
|
PublicIPAddressConfiguration
|
Конфигурация общедоступного IP-адреса конфигурации сети пула.
|
|
ResizeError
|
Ошибка, возникающая при изменении размера пула.
|
|
ResizeOperationStatus
|
Сведения о текущей или последней завершенной операции изменения размера.
|
|
ResourceFile
|
Один файл или несколько файлов, которые необходимо скачать на вычислительный узел.
|
|
RollingUpgradePolicy
|
Параметры конфигурации, используемые при выполнении последовательного обновления.
|
|
ScaleSettings
|
Параметры масштабирования для пула
|
|
SecurityEncryptionTypes
|
Указывает тип шифрования управляемого диска. Он установлен в DiskWithVMGuestState для шифрования управляемого диска вместе с блобом VMGuestState, VMGuestStateOnly для шифрования только блоба VMGuestState и NonPersistedTPM для отсутствия сохранения состояния прошивки в блобе VMGuestState.
примечание. Оно может быть задано только для конфиденциальных виртуальных машин и требуется при использовании конфиденциальных виртуальных машин.
|
|
SecurityProfile
|
Задает параметры профиля безопасности для масштабируемого набора виртуальных машин или виртуальной машины.
|
|
SecurityTypes
|
Указывает тип безопасности виртуальной машины. Для включения UefiSettings необходимо задать любое указанное значение.
|
|
ServiceArtifactReference
|
Указывает идентификатор ссылки на артефакт службы, используемый для задания одной версии образа для всех виртуальных машин в масштабируемом наборе при использовании последней версии образа.
|
|
StartTask
|
Задача, которая выполняется при присоединении вычислительного узла к пулу в пакетной службе Azure или при перезагрузке или повторном использовании вычислительного узла.
|
|
StorageAccountType
|
Тип учетной записи хранения для создания дисков данных или диска ОС.
|
|
systemData
|
Метаданные, относящиеся к созданию и последнему изменении ресурса.
|
|
TaskContainerSettings
|
Параметры контейнера для задачи.
|
|
TaskSchedulingPolicy
|
Указывает, как задачи должны распределяться между вычислительными узлами.
|
|
UefiSettings
|
Указывает параметры безопасности, такие как безопасная загрузка и vTPM, используемые при создании виртуальной машины.
|
|
UpgradeMode
|
Задает режим обновления до виртуальных машин в масштабируемом наборе.
Возможны следующие значения:
вручную. Вы управляете приложением обновлений виртуальных машин в масштабируемом наборе. Это можно сделать с помощью действия manualUpgrade.
автоматическое. Все виртуальные машины в масштабируемом наборе автоматически обновляются одновременно.
Скользящей. Масштабируемый набор выполняет обновления в пакетах с необязательным временем приостановки между ними.
|
|
UpgradePolicy
|
Описывает политику обновления — автоматическую, ручную или перекатную.
|
|
UserAccount
|
Свойства, используемые для создания пользователя на узле пакетной службы Azure.
|
|
UserAssignedIdentities
|
Список связанных удостоверений пользователей.
|
|
UserIdentity
|
Определение удостоверения пользователя, под которым выполняется задача.
|
|
VirtualMachineConfiguration
|
Конфигурация вычислительных узлов в пуле на основе инфраструктуры виртуальных машин Azure.
|
|
VMDiskSecurityProfile
|
Задает параметры профиля безопасности для управляемого диска.
примечание. Оно может быть задано только для конфиденциальных виртуальных машин и требуется при использовании конфиденциальных виртуальных машин.
|
|
VMExtension
|
Конфигурация расширений виртуальных машин.
|
|
WindowsConfiguration
|
Параметры операционной системы Windows для применения к виртуальной машине.
|
|
WindowsUserConfiguration
|
Свойства, используемые для создания учетной записи пользователя на узле Windows.
|
AllocationState
Перечисление
Изменяется ли размер пула.
| Значение |
Описание |
|
Steady
|
Пул не изменяет размер. В пуле нет изменений в количестве узлов, выполняемых в пуле. Пул вводит это состояние при создании и при отсутствии операций в пуле для изменения количества узлов.
|
|
Resizing
|
Пул изменяет размер; То есть вычислительные узлы добавляются или удаляются из пула.
|
|
Stopping
|
Пул изменил размер, но пользователь попросил остановить изменение размера, но запрос остановки еще не завершен.
|
ApplicationPackageReference
Объект
Ссылка на пакет приложения в учетной записи пакетной службы
| Имя |
Тип |
Описание |
|
id
|
string
|
Идентификатор устанавливаемого пакета приложения. Это должно быть внутри того же партийного аккаунта, что и пул. Это может быть ссылка на определенную версию или версию по умолчанию, если она существует.
Идентификатор устанавливаемого пакета приложения. Это должно находиться внутри той же учетной записи пакетной службы, что и пул. Это может быть ссылка на определенную версию или версию по умолчанию, если она существует.
|
|
version
|
string
|
Версия приложения для развертывания. Если опущено, будет развернута версия по умолчанию.
Если это опущено, и для этого приложения не указана версия по умолчанию, запрос завершается сбоем с кодом ошибки InvalidApplicationPackageReferences. Если вы вызываете REST API напрямую, код состояния HTTP равен 409.
|
AutomaticOSUpgradePolicy
Объект
Параметры конфигурации, используемые для автоматического обновления ОС.
| Имя |
Тип |
Описание |
|
disableAutomaticRollback
|
boolean
|
Следует ли отключить функцию отката образа ОС.
|
|
enableAutomaticOSUpgrade
|
boolean
|
Указывает, следует ли автоматически применять обновления ОС к экземплярам масштабируемого набора в последовательном режиме, когда становится доступной более новая версия образа ОС.
Если для пулов windows задано значение true, WindowsConfiguration.enableAutomaticUpdates не может быть задано значение true.
|
|
osRollingUpgradeDeferral
|
boolean
|
Отложить обновление ОС на телевизорах, если они выполняют задачи.
|
|
useRollingUpgradePolicy
|
boolean
|
Указывает, следует ли использовать политику последовательного обновления во время автоматического обновления ОС. Автоматическое обновление ОС откатится к политике по умолчанию, если политика не определена в VMSS.
|
AutoScaleRun
Объект
Результаты и ошибки из выполнения формулы автомасштабирования пула.
| Имя |
Тип |
Описание |
|
error
|
AutoScaleRunError
|
Сведения об ошибке, обнаруженной при оценке формулы автомасштабирования в пуле, если оценка не выполнена.
Ошибка, возникающая при автомасштабировании пула.
|
|
evaluationTime
|
string
(date-time)
|
Время последнего вычисления формулы автомасштабирования.
Время последнего вычисления формулы автомасштабирования.
|
|
results
|
string
|
Окончательные значения всех переменных, используемых в оценке формулы автомасштабирования.
Каждое значение переменной возвращается в форме $variable=value, а переменные разделяются точкой с запятой.
|
AutoScaleRunError
Объект
Ошибка, возникающая при автомасштабировании пула.
| Имя |
Тип |
Описание |
|
code
|
string
|
Идентификатор ошибки. Коды являются инвариантными и предназначены для программного использования.
|
|
details
|
AutoScaleRunError[]
|
Дополнительные сведения об ошибке.
Дополнительные сведения об ошибке.
|
|
message
|
string
|
Сообщение, описывающее ошибку, предназначенное для отображения в пользовательском интерфейсе.
|
AutoScaleSettings
Объект
Параметры автомасштабирования для пула.
| Имя |
Тип |
Описание |
|
evaluationInterval
|
string
(duration)
|
Интервал времени, с помощью которого автоматически настраивается размер пула в соответствии с формулой автомасштабирования.
Если опущено, значение по умолчанию — 15 минут (PT15M).
|
|
formula
|
string
|
Формула для требуемого количества вычислительных узлов в пуле.
Формула для требуемого количества вычислительных узлов в пуле.
|
AutoUserScope
Перечисление
Значением по умолчанию является пул. Если пул работает под управлением Windows, необходимо указать значение задачи, если требуется более строгая изоляция между задачами. Например, если задача изменяет реестр таким образом, что это может повлиять на другие задачи.
| Значение |
Описание |
|
Task
|
Указывает, что служба должна создать нового пользователя для задачи.
|
|
Pool
|
Указывает, что задача выполняется в качестве общей учетной записи пользователя автоматического доступа, созданной на каждом узле в пуле.
|
AutoUserSpecification
Объект
Задает параметры для автоматического пользователя, выполняющего задачу в пакетной службе.
| Имя |
Тип |
Описание |
|
elevationLevel
|
ElevationLevel
|
Уровень повышения прав пользователя.
Значение по умолчанию — nonAdmin.
|
|
scope
|
AutoUserScope
|
Область для автоматического пользователя
Значением по умолчанию является пул. Если пул работает под управлением Windows, необходимо указать значение задачи, если требуется более строгая изоляция между задачами. Например, если задача мутирует реестр таким образом, что может повлиять на другие задачи, или если сертификаты были указаны в пуле, который не должен быть доступен обычными задачами, но должен быть доступен путем запуска задач.
|
AzureBlobFileSystemConfiguration
Объект
Сведения, используемые для подключения к контейнеру службы хранилища Azure с помощью Blobfuse.
| Имя |
Тип |
Описание |
|
accountKey
|
string
(password)
|
Ключ учетной записи хранения Azure.
Это свойство является взаимоисключающим как с sasKey, так и с удостоверением; необходимо указать именно один.
|
|
accountName
|
string
|
Имя учетной записи хранения Azure.
Имя учетной записи хранения Azure.
|
|
blobfuseOptions
|
string
|
Дополнительные параметры командной строки для передачи команде подключения.
Это параметры "net use" в Windows и "подключение" в Linux.
|
|
containerName
|
string
|
Имя контейнера хранилища BLOB-объектов Azure.
Имя контейнера хранилища BLOB-объектов Azure.
|
|
identityReference
|
ComputeNodeIdentityReference
|
Ссылка на назначенное пользователем удостоверение для доступа к containerName
Это свойство является взаимоисключающим как с accountKey, так и sasKey; необходимо указать именно один.
|
|
relativeMountPath
|
string
|
Относительный путь на вычислительном узле, где будет подключена файловая система.
Все файловые системы подключены относительно каталога подключений пакетной службы, доступные с помощью переменной среды AZ_BATCH_NODE_MOUNTS_DIR.
|
|
sasKey
|
string
(password)
|
Маркер SAS службы хранилища Azure.
Это свойство является взаимоисключающим как с accountKey, так и с удостоверением; необходимо указать именно один.
|
AzureFileShareConfiguration
Объект
Сведения, используемые для подключения к общей папке Azure.
| Имя |
Тип |
Описание |
|
accountKey
|
string
(password)
|
Ключ учетной записи хранения Azure.
Ключ учетной записи хранения Azure.
|
|
accountName
|
string
|
Имя учетной записи хранения Azure.
Имя учетной записи хранения Azure.
|
|
azureFileUrl
|
string
|
URL-адрес файлов Azure.
Это форма "https://{account}.file.core.windows.net/".
|
|
mountOptions
|
string
|
Дополнительные параметры командной строки для передачи команде подключения.
Это параметры "net use" в Windows и "подключение" в Linux.
|
|
relativeMountPath
|
string
|
Относительный путь на вычислительном узле, где будет подключена файловая система.
Все файловые системы подключены относительно каталога подключений пакетной службы, доступные с помощью переменной среды AZ_BATCH_NODE_MOUNTS_DIR.
|
BatchPoolIdentity
Объект
Удостоверение пула пакетной службы, если настроено. Если удостоверение пула обновляется во время обновления существующего пула, то только новые виртуальные машины, созданные после сжатия пула до 0, будут иметь обновленные удостоверения.
| Имя |
Тип |
Описание |
|
type
|
PoolIdentityType
|
Тип удостоверения, используемого для пула пакетной службы.
|
|
userAssignedIdentities
|
<string,
UserAssignedIdentities>
|
Список удостоверений пользователей, связанных с пулом пакетной службы.
|
CachingType
Перечисление
Тип кэширования для диска.
| Значение |
Описание |
|
None
|
Режим кэширования для диска не включен.
|
|
ReadOnly
|
Режим кэширования для диска доступен только для чтения.
|
|
ReadWrite
|
Режим кэширования для диска считывается и записывается.
|
CIFSMountConfiguration
Объект
Сведения, используемые для подключения к файловой системе CIFS.
| Имя |
Тип |
Описание |
|
mountOptions
|
string
|
Дополнительные параметры командной строки для передачи команде подключения.
Это параметры "net use" в Windows и "подключение" в Linux.
|
|
password
|
string
(password)
|
Пароль, используемый для проверки подлинности в файловой системе CIFS.
Пароль, используемый для проверки подлинности в файловой системе CIFS.
|
|
relativeMountPath
|
string
|
Относительный путь на вычислительном узле, где будет подключена файловая система.
Все файловые системы подключены относительно каталога подключений пакетной службы, доступные с помощью переменной среды AZ_BATCH_NODE_MOUNTS_DIR.
|
|
source
|
string
|
Универсальный код ресурса (URI) файловой системы для подключения.
Универсальный код ресурса (URI) файловой системы для подключения.
|
|
userName
|
string
|
Пользователь, используемый для проверки подлинности в файловой системе CIFS.
Пользователь, используемый для проверки подлинности в файловой системе CIFS.
|
CloudError
Объект
Ответ на ошибку из пакетной службы.
CloudErrorBody
Объект
Ответ на ошибку из пакетной службы.
| Имя |
Тип |
Описание |
|
code
|
string
|
Идентификатор ошибки. Коды являются инвариантными и предназначены для программного использования.
|
|
details
|
CloudErrorBody[]
|
Список дополнительных сведений об ошибке.
|
|
message
|
string
|
Сообщение, описывающее ошибку, предназначенное для отображения в пользовательском интерфейсе.
|
|
target
|
string
|
Целевой объект конкретной ошибки. Например, имя свойства в ошибке.
|
ComputeNodeDeallocationOption
Перечисление
Определяет, что делать с узлом и его выполняемыми задачами после выбора для размещения сделки.
| Значение |
Описание |
|
Requeue
|
Завершение выполнения процессов задач и повторное получение задач. Задачи будут выполняться снова, когда узел доступен. Удалите узлы сразу после завершения задач.
|
|
Terminate
|
Завершение выполнения задач. Задачи будут завершены с помощью failureInfo, указывающего, что они были завершены и не будут выполняться снова. Удалите узлы сразу после завершения задач.
|
|
TaskCompletion
|
Разрешить выполнение задач в настоящее время. Запланируйте новые задачи во время ожидания. Удалите узлы после завершения всех задач.
|
|
RetainedData
|
Разрешить выполнение текущих задач, а затем дождитесь истечения срока хранения всех данных задачи. Запланируйте новые задачи во время ожидания. Удалите узлы, когда истек срок хранения всех задач.
|
ComputeNodeFillType
Перечисление
Порядок распределения задач между вычислительными узлами.
| Значение |
Описание |
|
Spread
|
Задачи должны назначаться равномерно по всем узлам в пуле.
|
|
Pack
|
Максимальное количество задач (taskSlotsPerNode) должно быть назначено каждому узлу в пуле, прежде чем все задачи назначены следующему узлу в пуле.
|
ComputeNodeIdentityReference
Объект
Ссылка на назначенное пользователем удостоверение, связанное с пулом пакетной службы, который будет использовать вычислительный узел.
| Имя |
Тип |
Описание |
|
resourceId
|
string
|
Идентификатор ресурса ARM назначенного пользователем удостоверения.
|
ContainerConfiguration
Объект
Конфигурация пулов с поддержкой контейнера.
| Имя |
Тип |
Описание |
|
containerImageNames
|
string[]
|
Коллекция имен образов контейнера.
Это полная ссылка на изображение, как было бы указано для параметра docker pull. Образ будет получен из реестра Docker по умолчанию, если образ не является полным с альтернативным реестром.
|
|
containerRegistries
|
ContainerRegistry[]
|
Дополнительные частные реестры, из которых можно извлечь контейнеры.
Если какие-либо образы должны быть загружены из частного реестра, для которого требуются учетные данные, эти учетные данные должны быть предоставлены здесь.
|
|
type
|
ContainerType
|
Используемая технология контейнера.
Используемая технология контейнера.
|
ContainerHostBatchBindMountEntry
Объект
Вход пути и режима подключения, который требуется подключить к контейнеру задач.
| Имя |
Тип |
Описание |
|
isReadOnly
|
boolean
|
Подключите этот исходный путь как режим только для чтения или нет. Значение по умолчанию равно false (режим чтения и записи).
Если вы подключаете этот путь как режим чтения и записи, это не означает, что у всех пользователей в контейнере есть доступ на чтение и запись для пути, он зависит от доступа на виртуальной машине узла. Если этот путь подключен только для чтения, все пользователи в контейнере не смогут изменить путь.
|
|
source
|
ContainerHostDataPath
|
Пути, которые будут подключены к контейнеру задачи контейнера.
Пути, которые будут подключены к контейнеру задачи контейнера.
|
ContainerHostDataPath
Перечисление
Пути, которые будут подключены к контейнеру задачи контейнера.
| Значение |
Описание |
|
Shared
|
Путь к задаче с несколькими экземплярами для совместного использования файлов.
|
|
Startup
|
Путь к задаче запуска.
|
|
VfsMounts
|
Путь содержит все виртуальные файловые системы, подключенные на этом узле.
|
|
Task
|
Путь к задаче.
|
|
JobPrep
|
Путь задачи подготовки задания.
|
|
Applications
|
Путь к приложениям.
|
ContainerRegistry
Объект
Частный реестр контейнеров.
| Имя |
Тип |
Описание |
|
identityReference
|
ComputeNodeIdentityReference
|
Ссылка на назначенное пользователем удостоверение для доступа к реестру контейнеров Azure вместо имени пользователя и пароля.
Ссылка на назначенное пользователем удостоверение, связанное с пулом пакетной службы, который будет использовать вычислительный узел.
|
|
password
|
string
(password)
|
Пароль для входа на сервер реестра.
Пароль для входа на сервер реестра.
|
|
registryServer
|
string
|
URL-адрес реестра.
Если опущено, значение по умолчанию — "docker.io".
|
|
username
|
string
|
Имя пользователя для входа на сервер реестра.
Имя пользователя для входа на сервер реестра.
|
ContainerType
Перечисление
Используемая технология контейнера.
| Значение |
Описание |
|
DockerCompatible
|
Для запуска контейнеров будет использоваться технология совместимого контейнера Docker.
|
|
CriCompatible
|
Технология на основе CRI будет использоваться для запуска контейнеров.
|
ContainerWorkingDirectory
Перечисление
Флаг, указывающий, где находится рабочий каталог задачи контейнера. Значение по умолчанию — taskWorkingDirectory.
| Значение |
Описание |
|
TaskWorkingDirectory
|
Используйте рабочий каталог стандартной задачи пакетной службы, который будет содержать файлы ресурсов задачи, заполненные пакетной службой.
|
|
ContainerImageDefault
|
Использование образа контейнера, определенного рабочим каталогом. Убедитесь, что этот каталог не будет содержать файлы ресурсов, скачанные пакетной службой.
|
createdByType
Перечисление
Тип удостоверения, создавшего ресурс.
| Значение |
Описание |
|
User
|
|
|
Application
|
|
|
ManagedIdentity
|
|
|
Key
|
|
DataDisk
Объект
Параметры, которые будут использоваться дисками данных, связанными с вычислительными узлами в пуле. При использовании подключенных дисков данных необходимо подключить и отформатировать диски в виртуальной машине, чтобы использовать их.
| Имя |
Тип |
Описание |
|
caching
|
CachingType
|
Тип кэширования для диска.
Значения:
none — режим кэширования для диска не включен.
readOnly — режим кэширования для диска доступен только для чтения.
readWrite — режим кэширования для диска считывается и записывается.
Значение по умолчанию для кэширования не имеет значения. Сведения о параметрах кэширования см. в статье https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/.
|
|
diskSizeGB
|
integer
(int32)
|
Начальный размер диска в ГБ при создании нового диска данных.
Начальный размер диска в ГБ при создании нового диска данных.
|
|
lun
|
integer
(int32)
|
Номер логического блока.
Луна используется для уникальной идентификации каждого диска данных. При подключении нескольких дисков каждый должен иметь отдельную луну. Значение должно быть от 0 до 63 включительно.
|
|
managedDisk
|
ManagedDisk
|
Параметры управляемого диска.
Параметры управляемого диска.
|
DeploymentConfiguration
Объект
Свойства конфигурации развертывания.
| Имя |
Тип |
Описание |
|
virtualMachineConfiguration
|
VirtualMachineConfiguration
|
Конфигурация виртуальной машины для пула.
Конфигурация вычислительных узлов в пуле на основе инфраструктуры виртуальных машин Azure.
|
DiffDiskPlacement
Перечисление
Место, куда должен быть размещён диск ОС.
| Значение |
Описание |
|
CacheDisk
|
Диск ОС будет размещён на кэш-диске виртуальной машины.
|
DiffDiskSettings
Объект
Задает временные параметры диска для диска операционной системы, используемого виртуальной машиной.
DiskCustomerManagedKey
Объект
Ссылка на ключ, управляемый клиентом, для шифрования диска.
| Имя |
Тип |
Описание |
|
identityReference
|
ComputeNodeIdentityReference
|
Ссылка на один из идентификаторов пула для шифрования диска. Это удостоверение будет использоваться для доступа к KeyVault.
|
|
keyUrl
|
string
(uri)
|
Полный url-адрес ключа версии, указывающий на ключ в KeyVault. Сегмент версии URL-адреса требуется независимо от значения rotationToLatestKeyVersionEnabled.
|
|
rotationToLatestKeyVersionEnabled
|
boolean
|
Установите этот флаг в значение true, чтобы включить автоматическое обновление шифрования диска до последней версии ключа. По умолчанию — false.
|
DiskEncryptionConfiguration
Объект
Конфигурация шифрования дисков, примененная к вычислительным узлам в пуле. Конфигурация шифрования дисков не поддерживается в пуле Linux, созданном с помощью образа виртуальной машины или образа коллекции вычислений Azure.
| Имя |
Тип |
Описание |
|
customerManagedKey
|
DiskCustomerManagedKey
|
Ссылка на ключ, управляемый клиентом, для шифрования диска ОС.
Ключ, управляемый клиентом, зашифрует диск ОС с помощью EncryptionAtRest, и по умолчанию мы также зашифруем диск с данными. Его можно использовать только в том случае, если пул настроен с помощью удостоверения и OsDisk установлен в качестве одного из целевых объектов DiskEncryption.
|
|
targets
|
DiskEncryptionTarget[]
|
Список целевых объектов пакетной службы диска будет зашифрован на вычислительном узле.
В пуле Linux поддерживается только временныйdisk; В пуле Windows необходимо указать "OsDisk" и "TemporaryDisk".
|
DiskEncryptionSetParameters
Объект
Идентификатор ресурса ARM набора шифрования диска.
| Имя |
Тип |
Описание |
|
id
|
string
(arm-id)
|
Идентификатор ресурса набора шифрования диска.
Идентификатор ресурса ARM набора шифрования диска. Ресурс должен быть в той же подписке, что и аккаунт Batch.
|
DiskEncryptionTarget
Перечисление
Если опущено, диски на вычислительных узлах в пуле не будут зашифрованы.
| Значение |
Описание |
|
OsDisk
|
Диск ОС на вычислительном узле шифруется.
|
|
TemporaryDisk
|
Временный диск на вычислительном узле шифруется. В Linux это шифрование применяется к другим секциям (например, на подключенных дисках данных) при выполнении шифрования во время загрузки.
|
DynamicVNetAssignmentScope
Перечисление
Область динамического назначения виртуальной сети.
| Значение |
Описание |
|
none
|
Динамическое назначение виртуальной сети не включено.
|
|
job
|
Динамическое назначение виртуальной сети выполняется для каждого задания. Если это значение задано, необходимо также задать идентификатор подсети конфигурации сети. Эта функция требует утверждения перед использованием, обратитесь в службу поддержки.
|
ElevationLevel
Перечисление
Уровень повышения прав пользователя.
| Значение |
Описание |
|
NonAdmin
|
Пользователь является стандартным пользователем без повышенного доступа.
|
|
Admin
|
Пользователь является пользователем с повышенными правами доступа и работает с полными разрешениями администратора.
|
EnvironmentSetting
Объект
Переменная среды, устанавливаемая в процессе задачи.
| Имя |
Тип |
Описание |
|
name
|
string
|
Имя переменной среды.
Имя переменной среды.
|
|
value
|
string
|
Значение переменной среды.
Значение переменной среды.
|
FixedScaleSettings
Объект
Исправлены параметры масштабирования для пула.
| Имя |
Тип |
Default value |
Описание |
|
nodeDeallocationOption
|
ComputeNodeDeallocationOption
|
|
Определяет, что делать с узлом и его выполняемыми задачами после выбора для размещения сделки.
Если опущено, значение по умолчанию — Requeue.
|
|
resizeTimeout
|
string
(duration)
|
PT15M
|
Время ожидания выделения вычислительных узлов в пул.
Значение по умолчанию — 15 минут. Значения времени ожидания используют формат ISO 8601. Например, используйте PT10M в течение 10 минут. Минимальное значение — 5 минут. Если указать значение менее 5 минут, служба пакетной службы отклоняет запрос с ошибкой; Если вы вызываете REST API напрямую, код состояния HTTP равен 400 (недопустимый запрос).
|
|
targetDedicatedNodes
|
integer
(int32)
|
|
Требуемое количество выделенных вычислительных узлов в пуле.
По крайней мере один из целевыхDedicatedNodes, необходимо задать targetLowPriorityNodes.
|
|
targetLowPriorityNodes
|
integer
(int32)
|
|
Требуемое количество вычислительных узлов с низким приоритетом в пуле.
По крайней мере один из целевыхDedicatedNodes, необходимо задать targetLowPriorityNodes.
|
HostEndpointSettings
Объект
Указывает определенные параметры конечной точки узла.
| Имя |
Тип |
Описание |
|
inVMAccessControlProfileReferenceId
|
string
(arm-id)
|
Указывает ссылку на идентификатор ресурса InVMAccessControlProfileVersion в виде /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/inVMAccessControlProfiles/{profile}/versions/{version}.
|
|
mode
|
HostEndpointSettingsModeTypes
|
Указывает режим выполнения политики управления доступом.
|
HostEndpointSettingsModeTypes
Перечисление
Указывает режим выполнения политики управления доступом.
| Значение |
Описание |
|
Audit
|
В режиме аудита система действует так, как если бы она применяла политику управления доступом, включая выдачу записей отказа в доступе в журналах, но фактически не запрещает какие-либо запросы на размещение конечных точек.
|
|
Enforce
|
Режим принудительного применения — рекомендуемый режим работы, и система будет применять политику контроля доступа. Это свойство нельзя использовать вместе с 'inVMAccessControlProfileReferenceId'.
|
ImageReference
Объект
Ссылка на образ Виртуальной машины Azure Marketplace или ресурс образа Azure настраиваемой виртуальной машины. Чтобы получить список всех образовReference, проверенных пакетной службой Azure, см. операцию "Список поддерживаемых номеров SKU агента узлов".
| Имя |
Тип |
Описание |
|
communityGalleryImageId
|
string
|
Уникальный идентификатор образа коллекции сообщества
Это свойство является взаимоисключающим с другими свойствами и может быть получено из вызова GET коллекции сообщества.
|
|
id
|
string
|
Идентификатор ресурса ARM образа коллекции вычислений Azure. Вычислительные узлы в пуле будут созданы с помощью этого идентификатора образа. Это форма /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/gallerys/{galleryName}/images/{imageDefinitionName}/versions/{versionId}.
Это свойство является взаимоисключающим с другими свойствами. Образ коллекции вычислений Azure должен иметь реплики в том же регионе, что и учетная запись пакетной службы Azure. Сведения о параметрах брандмауэра для агента узла пакетной службы для взаимодействия со службой пакетной службы см. в https://learn.microsoft.com/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration.
|
|
offer
|
string
|
Тип предложения образа Azure Virtual Machines Marketplace.
Например, UbuntuServer или WindowsServer.
|
|
publisher
|
string
|
Издатель образа Azure Virtual Machines Marketplace.
Например, Canonical или MicrosoftWindowsServer.
|
|
sharedGalleryImageId
|
string
|
Уникальный идентификатор образа общей коллекции
Это свойство является взаимоисключающим с другими свойствами и может быть получено из вызова GET образа общей коллекции.
|
|
sku
|
string
|
SKU образа Azure Virtual Machines Marketplace.
Например, 18.04-LTS или 2022-datacenter.
|
|
version
|
string
|
Версия образа Azure Virtual Machines Marketplace.
Чтобы выбрать последнюю версию образа, можно указать значение "последняя". Если опущено, значение по умолчанию — "последняя".
|
InboundEndpointProtocol
Перечисление
Протокол конечной точки.
| Значение |
Описание |
|
TCP
|
Используйте TCP для конечной точки.
|
|
UDP
|
Используйте UDP для конечной точки.
|
InboundNatPool
Объект
Входящий пул NAT, который можно использовать для решения конкретных портов на вычислительных узлах в пуле пакетной службы во внешней среде.
| Имя |
Тип |
Описание |
|
backendPort
|
integer
(int32)
|
Номер порта на вычислительном узле.
Это должно быть уникальным в пуле пакетной службы. Допустимые значения : от 1 до 65535, за исключением 29876 и 29877, так как они зарезервированы. Если указаны зарезервированные значения, запрос завершается ошибкой с кодом состояния HTTP 400.
|
|
frontendPortRangeEnd
|
integer
(int32)
|
Последний номер порта в диапазоне внешних портов, которые будут использоваться для предоставления входящего доступа к внутреннему порту на отдельных вычислительных узлах.
Допустимые значения варьируются от 1 до 65534, за исключением портов от 50000 до 55000, зарезервированных пакетной службой. Все диапазоны в пуле должны быть уникальными и не могут перекрываться. Если указаны зарезервированные или перекрывающиеся значения, запрос завершается ошибкой с кодом состояния HTTP 400.
|
|
frontendPortRangeStart
|
integer
(int32)
|
Первый номер порта в диапазоне внешних портов, которые будут использоваться для предоставления входящего доступа к внутреннему порту на отдельных вычислительных узлах.
Допустимые значения варьируются от 1 до 65534, за исключением портов от 50000 до 55000, которые зарезервированы. Все диапазоны в пуле должны быть уникальными и не могут перекрываться. Если указаны зарезервированные или перекрывающиеся значения, запрос завершается ошибкой с кодом состояния HTTP 400.
|
|
name
|
string
|
Имя конечной точки.
Имя должно быть уникальным в пуле пакетной службы, может содержать буквы, цифры, подчеркивания, периоды и дефисы. Имена должны начинаться с буквы или числа, заканчиваться буквой, числом или подчеркиванием и не может превышать 77 символов. Если указаны недопустимые значения, запрос завершается ошибкой с кодом состояния HTTP 400.
|
|
networkSecurityGroupRules
|
NetworkSecurityGroupRule[]
|
Список правил группы безопасности сети, которые будут применены к конечной точке.
Максимальное количество правил, которые можно указать во всех конечных точках в пуле пакетной службы, равно 25. Если правила группы безопасности сети не указаны, будет создано правило по умолчанию, чтобы разрешить входящий доступ к указанному внутреннему порту. Если максимальное число правил группы безопасности сети превышается, запрос завершается ошибкой с кодом состояния HTTP 400.
|
|
protocol
|
InboundEndpointProtocol
|
Протокол конечной точки.
Протокол конечной точки.
|
InterNodeCommunicationState
Перечисление
Это накладывает ограничения на назначение узлов пулу. Включение этого значения может снизить вероятность выделения запрошенного количества узлов в пуле. Если этот параметр не указан, значение по умолчанию имеет значение "Отключено".
| Значение |
Описание |
|
Enabled
|
Включите сетевое взаимодействие между виртуальными машинами.
|
|
Disabled
|
Отключите сетевое взаимодействие между виртуальными машинами.
|
IPAddressProvisioningType
Перечисление
Тип подготовки для общедоступных IP-адресов для пула пакетной службы.
| Значение |
Описание |
|
BatchManaged
|
Общедоступный IP-адрес будет создан и управляется пакетной службой. В зависимости от размера пула может быть несколько общедоступных IP-адресов.
|
|
UserManaged
|
Общедоступные IP-адреса предоставляются пользователем и будут использоваться для подготовки вычислительных узлов.
|
|
NoPublicIPAddresses
|
Общедоступный IP-адрес не будет создан для вычислительных узлов в пуле.
|
IPFamily
Перечисление
Семейства IP-адресов, используемые для указания версий IP-адресов, доступных для пула.
| Значение |
Описание |
|
IPv4
|
IPv4 доступен для пула.
|
|
IPv6
|
IPv6 доступен для пула.
|
IPTag
Объект
Указывает, как задачи должны распределяться между вычислительными узлами.
| Имя |
Тип |
Описание |
|
ipTagType
|
string
|
Тип IP-тега.
Пример: FirstPartyUsage.
|
|
tag
|
string
|
Значение тега IP, связанного с общедоступным IP-адресом.
Пример: SQL.
|
JobDefaultOrder
Перечисление
Порядок планирования задач из разных заданий с одинаковым приоритетом.
| Значение |
Описание |
|
None
|
Задачи должны планироваться равномерно по всем работам с равным приоритетом в пуле.
|
|
CreationTime
|
Если задачи имеют равный приоритет, задачи из ранее созданных задач должны планироваться первыми.
|
LinuxUserConfiguration
Объект
Свойства, используемые для создания учетной записи пользователя на узле Linux.
| Имя |
Тип |
Описание |
|
gid
|
integer
(int32)
|
Идентификатор группы для учетной записи пользователя.
Свойства пользовательского интерфейса и gid должны быть указаны вместе или не вообще. Если не указана базовая операционная система, выбирает гиб.
|
|
sshPrivateKey
|
string
(password)
|
Закрытый ключ SSH для учетной записи пользователя.
Закрытый ключ не должен быть защищен паролем. Закрытый ключ используется для автоматической настройки асимметричной проверки подлинности на основе ключа для SSH между узлами в пуле Linux, если свойство enableInterNodeCommunication пула имеет значение true (оно игнорируется, если enableInterNodeCommunication имеет значение false). Для этого поместите пару ключей в каталог SSH пользователя. Если он не указан, SSH без пароля не настроен между узлами (не выполняется изменение каталога SSH пользователя).
|
|
uid
|
integer
(int32)
|
Идентификатор пользователя учетной записи пользователя.
Свойства пользовательского интерфейса и gid должны быть указаны вместе или не вообще. Если базовая операционная система не указана, выбирает пользовательский интерфейс.
|
LoginMode
Перечисление
Задает режим входа для пользователя. Значение по умолчанию — Interactive.
| Значение |
Описание |
|
Batch
|
Режим входа LOGON32_LOGON_BATCH Win32. Для длительных параллельных процессов рекомендуется использовать режим входа пакетной службы.
|
|
Interactive
|
Режим входа LOGON32_LOGON_INTERACTIVE Win32. Для некоторых приложений требуются разрешения, связанные с интерактивным режимом входа. Если это относится к приложению, используемому в задаче, рекомендуется использовать этот параметр.
|
ManagedDisk
Объект
Параметры управляемого диска.
| Имя |
Тип |
Описание |
|
diskEncryptionSet
|
DiskEncryptionSetParameters
|
Указывает идентификатор ресурса набора шифрования управляемых пользователем дисков для управляемого диска. Его можно установить только в режиме UserSubscription.
|
|
securityProfile
|
VMDiskSecurityProfile
|
Указывает профиль безопасности управляемого диска.
Задает параметры профиля безопасности для управляемого диска.
примечание. Оно может быть задано только для конфиденциальных виртуальных машин и требуется при использовании конфиденциальных виртуальных машин.
|
|
storageAccountType
|
StorageAccountType
|
Тип учетной записи хранения для создания дисков данных или диска ОС.
Тип учетной записи хранения для создания дисков данных или диска ОС.
|
Объект
Пара "имя-значение", связанная с ресурсом пакетной службы.
| Имя |
Тип |
Описание |
|
name
|
string
|
Имя элемента метаданных.
Имя элемента метаданных.
|
|
value
|
string
|
Значение элемента метаданных.
Значение элемента метаданных.
|
MountConfiguration
Объект
Файловая система для подключения на каждом узле.
| Имя |
Тип |
Описание |
|
azureBlobFileSystemConfiguration
|
AzureBlobFileSystemConfiguration
|
Контейнер службы хранилища Azure для подключения с помощью FUSE BLOB-объектов на каждом узле.
Это свойство является взаимоисключающим со всеми другими свойствами.
|
|
azureFileShareConfiguration
|
AzureFileShareConfiguration
|
Общая папка Azure для подключения к каждому узлу.
Это свойство является взаимоисключающим со всеми другими свойствами.
|
|
cifsMountConfiguration
|
CIFSMountConfiguration
|
Файловая система CIFS/SMB для подключения на каждом узле.
Это свойство является взаимоисключающим со всеми другими свойствами.
|
|
nfsMountConfiguration
|
NFSMountConfiguration
|
Файловая система NFS для подключения на каждом узле.
Это свойство является взаимоисключающим со всеми другими свойствами.
|
NetworkConfiguration
Объект
Конфигурация сети для пула.
| Имя |
Тип |
Default value |
Описание |
|
dynamicVnetAssignmentScope
|
DynamicVNetAssignmentScope
|
none
|
Область динамического назначения виртуальной сети.
Область динамического назначения виртуальной сети.
|
|
enableAcceleratedNetworking
|
boolean
|
|
Следует ли включить ускоренную сеть в этом пуле.
Ускорение сети обеспечивает виртуализацию одно корневых операций ввода-вывода (SR-IOV) к виртуальной машине, что может привести к повышению производительности сети. Дополнительные сведения см. в статье https://learn.microsoft.com/azure/virtual-network/accelerated-networking-overview.
|
|
endpointConfiguration
|
PoolEndpointConfiguration
|
|
Конфигурация конечных точек на вычислительных узлах в пуле пакетной службы.
Конфигурация конечной точки для пула.
|
|
publicIPAddressConfiguration
|
PublicIPAddressConfiguration
|
|
Конфигурация public IPAddress для вычислительных узлов в пуле пакетной службы.
Конфигурация общедоступного IP-адреса конфигурации сети пула.
|
|
subnetId
|
string
|
|
Идентификатор ресурса ARM подсети виртуальной сети, к которой присоединяются вычислительные узлы пула. Это форма /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}}.
Виртуальная сеть должна находиться в том же регионе и подписке, что и учетная запись пакетной службы Azure. Указанная подсеть должна иметь достаточно свободных IP-адресов для размещения количества узлов в пуле. Если подсеть не имеет достаточно свободных IP-адресов, пул частично выделяет вычислительные узлы и возникнет ошибка изменения размера. Субъект-служба MicrosoftAzureBatch должна иметь роль "Участник классической виртуальной машины" Role-Based управление доступом (RBAC) для указанной виртуальной сети. Указанная подсеть должна разрешить обмен данными из пакетной службы Azure, чтобы иметь возможность планировать задачи на вычислительных узлах. Это можно проверить, проверьте, имеет ли указанная виртуальная сеть любые связанные группы безопасности сети (NSG). Если связь с вычислительными узлами в указанной подсети запрещена группой безопасности сети, служба пакетной службы установит состояние вычислительных узлов неиспользуемым. Если указанная виртуальная сеть имеет любые связанные группы безопасности сети (NSG), для входящие подключения необходимо включить несколько зарезервированных системных портов, включая порты 29876 и 29877. Также включите исходящие подключения к службе хранилища Azure через порт 443. Дополнительные сведения см. в статье https://learn.microsoft.com/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration
|
NetworkSecurityGroupRule
Объект
Правило группы безопасности сети для применения к входящей конечной точке.
| Имя |
Тип |
Описание |
|
access
|
NetworkSecurityGroupRuleAccess
|
Действие, которое следует предпринять для указанного IP-адреса, диапазона подсети или тега.
Действие, которое следует предпринять для указанного IP-адреса, диапазона подсети или тега.
|
|
priority
|
integer
(int32)
|
Приоритет для этого правила.
Приоритеты в пуле должны быть уникальными и оцениваются в порядке приоритета. Чем ниже число, тем выше приоритет. Например, правила можно указать с номерами заказов 150, 250 и 350. Правило с порядком 150 имеет приоритет над правилом, которое имеет порядок 250. Допустимые приоритеты — от 150 до 4096. Если указаны зарезервированные или повторяющиеся значения, запрос завершается ошибкой с кодом состояния HTTP 400.
|
|
sourceAddressPrefix
|
string
|
Префикс исходного адреса или тег, соответствующий правилу.
Допустимые значения — это один IP-адрес (например, 10.10.10.10), подсеть IP -адресов (т. е. 192.168.1.0/24), тег по умолчанию или * (для всех адресов). Если указаны другие значения, запрос завершается ошибкой с кодом состояния HTTP 400.
|
|
sourcePortRanges
|
string[]
|
Диапазоны исходных портов, которые соответствуют правилу.
Допустимые значения: "*" (для всех портов 0 – 65535) или массивов портов или диапазонов портов (т. е. 100–200). Порты должны находиться в диапазоне от 0 до 65535, а диапазоны портов или порты не могут перекрываться. Если указаны другие значения, запрос завершается ошибкой с кодом состояния HTTP 400. Значение по умолчанию будет *.
|
NetworkSecurityGroupRuleAccess
Перечисление
Действие, которое следует предпринять для указанного IP-адреса, диапазона подсети или тега.
| Значение |
Описание |
|
Allow
|
Разрешить доступ.
|
|
Deny
|
Запретить доступ.
|
NFSMountConfiguration
Объект
Сведения, используемые для подключения к файловой системе NFS.
| Имя |
Тип |
Описание |
|
mountOptions
|
string
|
Дополнительные параметры командной строки для передачи команде подключения.
Это параметры "net use" в Windows и "подключение" в Linux.
|
|
relativeMountPath
|
string
|
Относительный путь на вычислительном узле, где будет подключена файловая система.
Все файловые системы подключены относительно каталога подключений пакетной службы, доступные с помощью переменной среды AZ_BATCH_NODE_MOUNTS_DIR.
|
|
source
|
string
|
Универсальный код ресурса (URI) файловой системы для подключения.
Универсальный код ресурса (URI) файловой системы для подключения.
|
NodePlacementConfiguration
Объект
Конфигурация размещения узлов для пакетных пулов.
| Имя |
Тип |
Описание |
|
policy
|
NodePlacementPolicyType
|
Тип политики размещения узлов в пакетных пулах.
Политика выделения, используемая пакетной службой для подготовки узлов. Если оно не указано, пакетная служба будет использовать региональную политику.
|
NodePlacementPolicyType
Перечисление
Значение по умолчанию — региональное.
| Значение |
Описание |
|
Regional
|
Все узлы в пуле будут выделены в одном регионе.
|
|
Zonal
|
Узлы в пуле будут распределяться по разным зонам с оптимальной балансировкой усилий.
|
OSDisk
Объект
Параметры диска операционной системы виртуальной машины.
| Имя |
Тип |
Описание |
|
caching
|
CachingType
|
Тип кэширования для диска.
Тип кэширования для диска.
|
|
diskSizeGB
|
integer
(int32)
|
Начальный размер диска в ГБ при создании нового диска ОС.
Начальный размер диска в ГБ при создании нового диска ОС.
|
|
ephemeralOSDiskSettings
|
DiffDiskSettings
|
Задает временные параметры диска для диска операционной системы, используемого виртуальной машиной.
Задает временные параметры диска для диска операционной системы, используемого виртуальной машиной.
|
|
managedDisk
|
ManagedDisk
|
Параметры управляемого диска.
Параметры управляемого диска.
|
|
writeAcceleratorEnabled
|
boolean
|
Указывает, следует ли включить или отключить записьAccelerator на диске.
Указывает, следует ли включить или отключить записьAccelerator на диске.
|
Pool
Объект
Содержит сведения о пуле.
| Имя |
Тип |
Default value |
Описание |
|
etag
|
string
|
|
ETag ресурса, используемый для инструкций параллелизма.
|
|
id
|
string
(arm-id)
|
|
Полный идентификатор ресурса для ресурса. Например, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
|
|
identity
|
BatchPoolIdentity
|
|
Тип удостоверения, используемого для пула пакетной службы.
|
|
name
|
string
|
|
Имя ресурса
|
|
properties.allocationState
|
AllocationState
|
|
Изменяется ли размер пула.
Изменяется ли размер пула.
|
|
properties.allocationStateTransitionTime
|
string
(date-time)
|
|
Время, в течение которого пул вступил в текущее состояние выделения.
Время, в течение которого пул вступил в текущее состояние выделения.
|
|
properties.applicationPackages
|
ApplicationPackageReference[]
|
|
Список пакетов приложений, установленных на каждом вычислительном узле в пуле.
Изменения ссылок на пакеты приложений влияют на все новые вычислительные узлы, присоединенные к пулу, но не влияют на вычислительные узлы, которые уже находятся в пуле, пока они не перезагрузятся или переимыслятся. В любом пуле имеется не более 10 ссылок на пакеты приложений.
|
|
properties.autoScaleRun
|
AutoScaleRun
|
|
Результаты и ошибки из последнего выполнения формулы автомасштабирования.
Это свойство устанавливается только в том случае, если пул автоматически масштабируется, т. е. используется autoScaleSettings.
|
|
properties.creationTime
|
string
(date-time)
|
|
Время создания пула.
Время создания пула.
|
|
properties.currentDedicatedNodes
|
integer
(int32)
|
|
Количество выделенных вычислительных узлов в пуле.
Количество выделенных вычислительных узлов в пуле.
|
|
properties.currentLowPriorityNodes
|
integer
(int32)
|
|
Количество вычислительных узлов с низким приоритетом в пуле.
Количество вычислительных узлов с низким приоритетом в пуле.
|
|
properties.deploymentConfiguration
|
DeploymentConfiguration
|
|
Это свойство описывает виртуальные машины, на которые будут развернуты узлы пула.
Свойства конфигурации развертывания.
|
|
properties.displayName
|
string
|
|
Отображаемое имя пула.
Отображаемое имя не должно быть уникальным и может содержать любые символы Юникода до максимальной длины 1024.
|
|
properties.interNodeCommunication
|
InterNodeCommunicationState
|
|
Разрешает ли пул прямой обмен данными между узлами.
Это накладывает ограничения на назначение узлов пулу. Включение этого значения может снизить вероятность выделения запрошенного количества узлов в пуле. Если этот параметр не указан, значение по умолчанию имеет значение "Отключено".
|
|
properties.lastModified
|
string
(date-time)
|
|
Время последнего изменения пула.
Это последний раз, когда данные уровня пула, такие как targetDedicatedNodes или autoScaleSettings, изменились. Он не учитывает изменения на уровне узла, такие как изменение состояния вычислительного узла.
|
|
properties.metadata
|
MetadataItem[]
|
|
Список пар "имя-значение", связанных с пулом в качестве метаданных.
Пакетная служба не назначает никакое значение метаданным; он предназначен исключительно для использования пользовательского кода.
|
|
properties.mountConfiguration
|
MountConfiguration[]
|
|
Список файловых систем для подключения на каждом узле в пуле.
Это поддерживает файлы Azure, NFS, CIFS/SMB и Blobfuse.
|
|
properties.networkConfiguration
|
NetworkConfiguration
|
|
Конфигурация сети для пула.
Конфигурация сети для пула.
|
|
properties.provisioningState
|
PoolProvisioningState
|
|
Текущее состояние пула.
Текущее состояние пула.
|
|
properties.provisioningStateTransitionTime
|
string
(date-time)
|
|
Время ввода пула в текущее состояние.
Время ввода пула в текущее состояние.
|
|
properties.resizeOperationStatus
|
ResizeOperationStatus
|
|
Содержит сведения о текущей или последней завершенной операции изменения размера.
Описывает текущую операцию (если параметр AllocationState имеет размер) или ранее завершенную операцию (если значение AllocationState устойчиво).
|
|
properties.scaleSettings
|
ScaleSettings
|
|
Параметры, которые настраивают количество узлов в пуле.
Определяет требуемый размер пула. Это может быть "фиксированный масштаб", где указан запрошенный целевой идентификаторNodes или "автомасштабирование", определяющий формулу, которая периодически переоценится. Если это свойство не указано, пул будет иметь фиксированный масштаб с 0 targetDedicatedNodes.
|
|
properties.startTask
|
StartTask
|
|
Задача, указанная для запуска на каждом вычислительном узле при присоединении к пулу.
В операции PATCH (update) это свойство можно задать для пустого объекта, чтобы удалить начальную задачу из пула.
|
|
properties.taskSchedulingPolicy
|
TaskSchedulingPolicy
|
|
Распределение задач между вычислительными узлами в пуле.
Если значение не указано, по умолчанию распространяется.
|
|
properties.taskSlotsPerNode
|
integer
(int32)
|
1
|
Количество слотов задач, которые могут использоваться для выполнения параллельных задач на одном вычислительном узле в пуле.
Значение по умолчанию — 1. Максимальное значение меньше 4 раза меньше числа ядер vmSize пула или 256.
|
|
properties.upgradePolicy
|
UpgradePolicy
|
|
Политика обновления пула.
Описывает политику обновления — автоматическую, ручную или перекатную.
|
|
properties.userAccounts
|
UserAccount[]
|
|
Список учетных записей пользователей, создаваемых на каждом узле в пуле.
Список учетных записей пользователей, создаваемых на каждом узле в пуле.
|
|
properties.vmSize
|
string
|
|
Размер виртуальных машин в пуле. Все виртуальные машины в пуле имеют одинаковый размер.
Сведения о доступных размерах виртуальных машин см. в статье "Размеры виртуальных машин в Azure" (https://learn.microsoft.com/azure/virtual-machines/sizes/overview). Пакетная служба поддерживает все размеры виртуальных машин Azure, кроме STANDARD_A0 и хранилища класса Premium (STANDARD_GS, STANDARD_DS и серии STANDARD_DSV2).
|
|
systemData
|
systemData
|
|
Метаданные Azure Resource Manager, содержащие данные createdBy и modifiedBy.
|
|
tags
|
object
|
|
Теги ресурса.
|
|
type
|
string
|
|
Тип ресурса. Например, "Microsoft.Compute/virtualMachines" или "Microsoft.Storage/storageAccounts"
|
PoolEndpointConfiguration
Объект
Конфигурация конечной точки для пула.
| Имя |
Тип |
Описание |
|
inboundNatPools
|
InboundNatPool[]
|
Список входящих пулов NAT, которые можно использовать для решения конкретных портов на отдельном вычислительном узле.
Максимальное количество входящих пулов NAT на пул пакетной службы составляет 5. Если максимальное число входящих пулов NAT превышается, запрос завершается ошибкой с кодом состояния HTTP 400. Это невозможно указать, если IPAddressProvisioningType — NoPublicIPAddresses.
|
PoolIdentityType
Перечисление
Тип удостоверения, используемого для пула пакетной службы.
| Значение |
Описание |
|
UserAssigned
|
Пул пакетной службы имеет удостоверения, назначенные пользователем.
|
|
None
|
Пул пакетной службы не связан с ним. Установка None в пуле обновлений приведет к удалению существующих удостоверений.
|
PoolProvisioningState
Перечисление
Текущее состояние пула.
| Значение |
Описание |
|
Succeeded
|
Пул доступен для выполнения задач с учетом доступности вычислительных узлов.
|
|
Deleting
|
Пользователь попросил удалить пул, но операция удаления еще не завершена.
|
ProxyAgentSettings
Объект
Задает параметры ProxyAgent при создании виртуальной машины.
| Имя |
Тип |
Описание |
|
enabled
|
boolean
|
Указывает, должна ли быть включена функция протокола безопасности метаданных на виртуальной машине или в масштабируемом наборе виртуальных машин. По умолчанию — False.
|
|
imds
|
HostEndpointSettings
|
Настройки для конечной точки IMDS.
|
|
wireServer
|
HostEndpointSettings
|
Параметры конечной точки WireServer.
|
PublicIPAddressConfiguration
Объект
Конфигурация общедоступного IP-адреса конфигурации сети пула.
| Имя |
Тип |
Описание |
|
ipAddressIds
|
string[]
|
Список общедоступных IP-адресов, которые будет использоваться пакетной службой при подготовке вычислительных узлов.
Количество IP-адресов, указанных здесь, ограничивает максимальный размер пула — 100 выделенных узлов или 100 точечных и низкоприоритетных узлов можно выделить для каждого общедоступного IP-адреса. Например, для пула, нуждающегося в 250 выделенных виртуальных машинах, потребуется не менее 3 общедоступных IP-адресов. Каждый элемент этой коллекции имеет форму: /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}.
|
|
ipFamilies
|
IPFamily[]
|
Семейства IP-адресов, используемые для указания версий IP-адресов, доступных для пула.
Семейства IP-адресов используются для определения пулов с одним или двумя стеками. Для одного стека ожидаемое значение — IPv4. Для двойного стека ожидаемые значения — IPv4 и IPv6.
|
|
ipTags
|
IPTag[]
|
IP-теги, которые будут применяться к новым публичным IP, созданным Batch.
IP-теги, которые будут применяться к новым публичным IP, созданным Batch.
|
|
provision
|
IPAddressProvisioningType
|
Тип подготовки для общедоступных IP-адресов для пула пакетной службы.
Значение по умолчанию — BatchManaged
|
ResizeError
Объект
Ошибка, возникающая при изменении размера пула.
| Имя |
Тип |
Описание |
|
code
|
string
|
Идентификатор ошибки. Коды являются инвариантными и предназначены для программного использования.
|
|
details
|
ResizeError[]
|
Дополнительные сведения об ошибке.
Дополнительные сведения об ошибке.
|
|
message
|
string
|
Сообщение, описывающее ошибку, предназначенное для отображения в пользовательском интерфейсе.
|
ResizeOperationStatus
Объект
Сведения о текущей или последней завершенной операции изменения размера.
| Имя |
Тип |
Описание |
|
errors
|
ResizeError[]
|
Сведения об ошибках, возникших при выполнении последнего изменения размера в пуле.
Это свойство задается только в том случае, если произошла ошибка во время последнего изменения размера пула и только в том случае, если выделение пула устойчиво.
|
|
nodeDeallocationOption
|
ComputeNodeDeallocationOption
|
Определяет, что делать с узлом и его выполняемыми задачами после выбора для размещения сделки.
Значение по умолчанию повторно задается.
|
|
resizeTimeout
|
string
(duration)
|
Время ожидания выделения вычислительных узлов в пул или удаление вычислительных узлов из пула.
Значение по умолчанию — 15 минут. Минимальное значение — 5 минут. Если указать значение менее 5 минут, пакетная служба возвращает ошибку; Если вы вызываете REST API напрямую, код состояния HTTP равен 400 (недопустимый запрос).
|
|
startTime
|
string
(date-time)
|
Время начала операции изменения размера.
Время начала операции изменения размера.
|
|
targetDedicatedNodes
|
integer
(int32)
|
Требуемое количество выделенных вычислительных узлов в пуле.
Требуемое количество выделенных вычислительных узлов в пуле.
|
|
targetLowPriorityNodes
|
integer
(int32)
|
Требуемое количество вычислительных узлов с низким приоритетом в пуле.
Требуемое количество вычислительных узлов с низким приоритетом в пуле.
|
ResourceFile
Объект
Один файл или несколько файлов, которые необходимо скачать на вычислительный узел.
| Имя |
Тип |
Описание |
|
autoStorageContainerName
|
string
|
Имя контейнера хранилища в учетной записи автоматического хранения.
Свойства autoStorageContainerName, storageContainerUrl и httpUrl являются взаимоисключающими, и один из них должен быть указан.
|
|
blobPrefix
|
string
|
Префикс большого двоичного объекта, используемый при скачивании BLOB-объектов из контейнера службы хранилища Azure. Будут загружены только большие двоичные объекты, имена которых начинаются с указанного префикса.
Свойство допустимо, только если используется autoStorageContainerName или storageContainerUrl. Этот префикс может быть частичным именем файла или подкаталогом. Если префикс не указан, все файлы в контейнере будут скачаны.
|
|
fileMode
|
string
|
Атрибут режима разрешений файла в восьмимерном формате.
Это свойство применяется только к файлам, скачанным на вычислительные узлы Linux. Он будет игнорироваться, если он указан для resourceFile, который будет скачан на узел Windows. Если это свойство не указано для узла Linux, к файлу применяется значение по умолчанию 0770.
|
|
filePath
|
string
|
Расположение на вычислительном узле, на котором нужно скачать файл, относительно рабочего каталога задачи.
Если задано свойство httpUrl, файлPath является обязательным и описывает путь, в который будет скачан файл, включая имя файла. В противном случае, если задано свойство autoStorageContainerName или storageContainerUrl, filePath является необязательным и является каталогом для скачивания файлов. В случае, когда filePath используется в качестве каталога, любая структура каталогов, уже связанная с входными данными, будет сохранена в полном объеме и добавлена в указанный каталог filePath. Указанный относительный путь не может выйти из рабочего каталога задачи (например, с помощью '.').
|
|
httpUrl
|
string
|
URL-адрес для скачивания файла.
Свойства autoStorageContainerName, storageContainerUrl и httpUrl являются взаимоисключающими, и один из них должен быть указан. Если URL-адрес указывает на хранилище BLOB-объектов Azure, он должен быть доступен для чтения с вычислительных узлов. Существует три способа получить такой URL-адрес для большого двоичного объекта в хранилище Azure: включить подписанный URL-адрес (SAS), предоставляющий разрешения на чтение большого двоичного объекта, использовать управляемое удостоверение с разрешением на чтение или задать ACL для большого двоичного объекта или его контейнера, чтобы разрешить общедоступный доступ.
|
|
identityReference
|
ComputeNodeIdentityReference
|
Ссылка на назначенное пользователем удостоверение для доступа к хранилищу BLOB-объектов Azure, заданному storageContainerUrl или httpUrl
Ссылка на назначенное пользователем удостоверение, связанное с пулом пакетной службы, который будет использовать вычислительный узел.
|
|
storageContainerUrl
|
string
|
URL-адрес контейнера BLOB-объектов в хранилище BLOB-объектов Azure.
Свойства autoStorageContainerName, storageContainerUrl и httpUrl являются взаимоисключающими, и один из них должен быть указан. Этот URL-адрес должен быть доступен для чтения и перечисления из вычислительных узлов. Существует три способа получить такой URL-адрес для контейнера в хранилище Azure: включить подписанный URL-адрес (SAS), предоставляющий разрешения на чтение и список для контейнера, использовать управляемое удостоверение с разрешениями на чтение и список или задать ACL для контейнера, чтобы разрешить общедоступный доступ.
|
RollingUpgradePolicy
Объект
Параметры конфигурации, используемые при выполнении последовательного обновления.
| Имя |
Тип |
Описание |
|
enableCrossZoneUpgrade
|
boolean
|
Разрешить VMSS игнорировать границы AZ при создании пакетов обновления. Учитывайте домен обновления и maxBatchInstancePercent, чтобы определить размер пакета. Если это поле не задано, пакетная служба Azure не установит значение по умолчанию. Значение enableCrossZoneUpgrade в созданном VirtualMachineScaleSet будет определено конфигурацией по умолчанию в VirtualMachineScaleSet. Это поле может иметь значение true или false только при использовании NodePlacementConfiguration в качестве зонального.
|
|
maxBatchInstancePercent
|
integer
(int32)
minimum: 5 maximum: 100
|
Максимальный процент общих экземпляров виртуальных машин, которые будут обновляться одновременно путем последовательного обновления в одном пакете. Так как это максимальный, неработоспособные экземпляры в предыдущих или будущих пакетах могут привести к снижению процента экземпляров в пакете, чтобы обеспечить более высокую надежность. Значение этого поля должно составлять от 5 до 100 включительно. Если значение maxBatchInstancePercent и maxUnhealthyInstancePercent присваивается значением, значение maxBatchInstancePercent не должно превышать maxUnhealthyInstancePercent.
|
|
maxUnhealthyInstancePercent
|
integer
(int32)
minimum: 5 maximum: 100
|
Максимальный процент всех экземпляров виртуальных машин в масштабируемом наборе, которые могут быть одновременно неработоспособными, либо в результате обновления, либо путем обнаружения в неработоспособном состоянии проверки работоспособности виртуальной машины до завершения последовательного обновления. Это ограничение будет проверено перед запуском любого пакета. Значение этого поля должно составлять от 5 до 100 включительно. Если значение maxBatchInstancePercent и maxUnhealthyInstancePercent присваивается значением, значение maxBatchInstancePercent не должно превышать maxUnhealthyInstancePercent.
|
|
maxUnhealthyUpgradedInstancePercent
|
integer
(int32)
minimum: 0 maximum: 100
|
Максимальный процент обновленных экземпляров виртуальных машин, которые можно найти в неработоспособном состоянии. Эта проверка произойдет после обновления каждого пакета. Если этот процент когда-либо превышается, последовательное обновление прерывается. Значение этого поля должно быть от 0 до 100 включительно.
|
|
pauseTimeBetweenBatches
|
string
|
Время ожидания между завершением обновления для всех виртуальных машин в одном пакете и запуском следующего пакета. Длительность времени должна быть указана в формате ISO 8601.
|
|
prioritizeUnhealthyInstances
|
boolean
|
Обновите все неработоспособные экземпляры в масштабируемом наборе до всех здоровых экземпляров.
|
|
rollbackFailedInstancesOnPolicyBreach
|
boolean
|
Откат неудачных экземпляров до предыдущей модели, если политика последовательного обновления нарушена.
|
ScaleSettings
Объект
Параметры масштабирования для пула
| Имя |
Тип |
Описание |
|
autoScale
|
AutoScaleSettings
|
Параметры автомасштабирования для пула.
Это свойство и фиксированное масштабирование являются взаимоисключающими, и необходимо указать одно из свойств.
|
|
fixedScale
|
FixedScaleSettings
|
Исправлены параметры масштабирования для пула.
Это свойство и автомасштабирование являются взаимоисключающими, и необходимо указать одно из свойств.
|
SecurityEncryptionTypes
Перечисление
Указывает тип шифрования управляемого диска. Он установлен в DiskWithVMGuestState для шифрования управляемого диска вместе с блобом VMGuestState, VMGuestStateOnly для шифрования только блоба VMGuestState и NonPersistedTPM для отсутствия сохранения состояния прошивки в блобе VMGuestState.
примечание. Оно может быть задано только для конфиденциальных виртуальных машин и требуется при использовании конфиденциальных виртуальных машин.
| Значение |
Описание |
|
NonPersistedTPM
|
Для параметра EncryptionType управляемого диска задано значение NonPersistedTPM, чтобы состояние встроенного ПО не сохранялось в большом двоичном объекте VMGuestState.
|
|
VMGuestStateOnly
|
Для параметра EncryptionType управляемого диска задано значение VMGuestStateOnly для шифрования только большого двоичного объекта VMGuestState.
|
|
DiskWithVMGuestState
|
Для параметра EncryptionType управляемого диска задано значение DiskWithVMGuestState для шифрования управляемого диска вместе с большим двоичным объектом VMGuestState. Он не поддерживается в дисках с данными.
|
SecurityProfile
Объект
Задает параметры профиля безопасности для масштабируемого набора виртуальных машин или виртуальной машины.
| Имя |
Тип |
Описание |
|
encryptionAtHost
|
boolean
|
Это свойство можно использовать пользователем в запросе, чтобы включить или отключить шифрование узла для виртуальной машины или масштабируемого набора виртуальных машин. Это позволит включить шифрование для всех дисков, включая диск Resource/Temp на самом узле.
|
|
proxyAgentSettings
|
ProxyAgentSettings
|
Задает параметры ProxyAgent при создании виртуальной машины.
|
|
securityType
|
SecurityTypes
|
Указывает тип безопасности виртуальной машины. Для включения UefiSettings необходимо задать любое указанное значение.
Указывает тип безопасности виртуальной машины. Для включения UefiSettings необходимо задать любое указанное значение.
|
|
uefiSettings
|
UefiSettings
|
Указывает параметры безопасности, такие как безопасная загрузка и vTPM, используемые при создании виртуальной машины.
Указывает параметры безопасности, такие как безопасная загрузка и vTPM, используемые при создании виртуальной машины.
|
SecurityTypes
Перечисление
Указывает тип безопасности виртуальной машины. Для включения UefiSettings необходимо задать любое указанное значение.
| Значение |
Описание |
|
trustedLaunch
|
Доверенный запуск защищает от расширенных и постоянных методов атак.
|
|
confidentialVM
|
Конфиденциальные вычисления Azure предлагают конфиденциальные виртуальные машины для клиентов с высокими требованиями к безопасности и конфиденциальности. Эти виртуальные машины обеспечивают надежную, аппаратно защищенную границу, помогающую удовлетворить ваши потребности в безопасности. Конфиденциальные виртуальные машины можно использовать для миграции, не изменяя код, с помощью платформы, защищающей состояние виртуальной машины от чтения или изменения.
|
ServiceArtifactReference
Объект
Указывает идентификатор ссылки на артефакт службы, используемый для задания одной версии образа для всех виртуальных машин в масштабируемом наборе при использовании последней версии образа.
| Имя |
Тип |
Описание |
|
id
|
string
|
Идентификатор ссылки на артефакт службы ServiceArtifactReference
Идентификатор ссылки на артефакт службы в виде /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/gallerys/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName}
|
StartTask
Объект
Задача, которая выполняется при присоединении вычислительного узла к пулу в пакетной службе Azure или при перезагрузке или повторном использовании вычислительного узла.
| Имя |
Тип |
Default value |
Описание |
|
commandLine
|
string
|
|
Командная строка задачи запуска.
Командная строка не выполняется под оболочкой и поэтому не может воспользоваться преимуществами функций оболочки, таких как расширение переменной среды. Если вы хотите воспользоваться такими функциями, необходимо вызвать оболочку в командной строке, например с помощью cmd /c MyCommand в Windows или "/bin/sh -c MyCommand" в Linux. Требуется, если указаны другие свойства startTask.
|
|
containerSettings
|
TaskContainerSettings
|
|
Параметры контейнера, в котором выполняется начальная задача.
При указании все каталоги рекурсивно под AZ_BATCH_NODE_ROOT_DIR (корнем каталогов пакетной службы Azure на узле) сопоставляются с контейнером, все переменные среды задач сопоставляются с контейнером, а командная строка задачи выполняется в контейнере.
|
|
environmentSettings
|
EnvironmentSetting[]
|
|
Список параметров переменной среды для начальной задачи.
Список параметров переменной среды для начальной задачи.
|
|
maxTaskRetryCount
|
integer
(int32)
|
0
|
Максимальное количество попыток выполнения задачи.
Пакетная служба повторяет задачу, если его код выхода не является ненулевой. Обратите внимание, что это значение специально управляет числом повторных попыток. Пакетная служба попытается выполнить задачу один раз, а затем повторите попытку до этого ограничения. Например, если максимальное число повторных попыток равно 3, пакетная служба пытается выполнить задачу до 4 раз (одна начальная попытка и 3 повторные попытки). Если максимальное число повторных попыток равно 0, пакетная служба не повторяет задачу. Если максимальное число повторных попыток равно -1, пакетная служба повторяет задачу без ограничения. Значение по умолчанию — 0
|
|
resourceFiles
|
ResourceFile[]
|
|
Список файлов, которые служба пакетной службы скачивает на вычислительный узел перед выполнением командной строки.
Список файлов, которые служба пакетной службы скачивает на вычислительный узел перед выполнением командной строки.
|
|
userIdentity
|
UserIdentity
|
|
Удостоверение пользователя, под которым выполняется начальная задача.
Если этот параметр не указан, задача выполняется как пользователь, не являющийся администратором, уникальным для задачи.
|
|
waitForSuccess
|
boolean
|
|
Следует ли пакетной службе ждать успешного завершения задачи запуска (т. е. выхода с кодом выхода 0) перед планированием любых задач на вычислительном узле.
Если значение true и задача запуска завершается сбоем на вычислительном узле, пакетная служба повторяет задачу запуска до максимального количества повторных попыток (maxTaskRetryCount). Если задача по-прежнему не выполнена успешно после всех повторных попыток, служба пакетной службы помечает вычислительный узел неиспользуемым и не запланирует задачи. Это условие можно обнаружить с помощью состояния узла и подробных сведений об ошибке планирования. Если значение false, служба пакетной службы не ожидает завершения начальной задачи. В этом случае другие задачи могут запускаться на вычислительном узле, пока задача запуска по-прежнему выполняется; и даже если задача запуска завершается сбоем, новые задачи будут продолжать планироваться на узле. Значение по умолчанию — true.
|
StorageAccountType
Перечисление
Тип учетной записи хранения для создания дисков данных или диска ОС.
| Значение |
Описание |
|
Standard_LRS
|
Диск данных или диск ОС должен использовать стандартное локально избыточное хранилище.
|
|
Premium_LRS
|
Диск данных или диск ОС должен использовать локально избыточное хранилище класса Premium.
|
|
StandardSSD_LRS
|
Диск данных или диск ОС должен использовать локально избыточное хранилище SSD уровня "Стандартный".
|
systemData
Объект
Метаданные, относящиеся к созданию и последнему изменении ресурса.
| Имя |
Тип |
Описание |
|
createdAt
|
string
(date-time)
|
Метка времени создания ресурса (UTC).
|
|
createdBy
|
string
|
Удостоверение, создающее ресурс.
|
|
createdByType
|
createdByType
|
Тип удостоверения, создавшего ресурс.
|
|
lastModifiedAt
|
string
(date-time)
|
Временная метка последнего изменения ресурса (UTC)
|
|
lastModifiedBy
|
string
|
Идентификатор, который последний раз изменил ресурс.
|
|
lastModifiedByType
|
createdByType
|
Тип удостоверения, который последний раз изменил ресурс.
|
TaskContainerSettings
Объект
Параметры контейнера для задачи.
| Имя |
Тип |
Описание |
|
containerHostBatchBindMounts
|
ContainerHostBatchBindMountEntry[]
|
Пути, которые необходимо подключить к задаче контейнера.
Если этот массив имеет значение NULL или отсутствует, задача контейнера будет подключать весь временный диск диска в окнах (или AZ_BATCH_NODE_ROOT_DIR в Linux). Он не будет подключать пути к данным в контейнер, если этот массив задан как пустой.
|
|
containerRunOptions
|
string
|
Дополнительные параметры команды создания контейнера.
Эти дополнительные параметры предоставляются в качестве аргументов в команду docker create, а также те, которые управляются пакетной службой.
|
|
imageName
|
string
|
Образ, используемый для создания контейнера, в котором будет выполняться задача.
Это полная ссылка на изображение, как было бы указано для параметра docker pull. Если тег не указан как часть имени изображения, тег ":latest" используется в качестве значения по умолчанию.
|
|
registry
|
ContainerRegistry
|
Частный реестр, содержащий образ контейнера.
Этот параметр может быть опущен, если он уже был предоставлен при создании пула.
|
|
workingDirectory
|
ContainerWorkingDirectory
|
Флаг, указывающий, где находится рабочий каталог задачи контейнера. Значение по умолчанию — taskWorkingDirectory.
Флаг, указывающий, где находится рабочий каталог задачи контейнера. Значение по умолчанию — taskWorkingDirectory.
|
TaskSchedulingPolicy
Объект
Указывает, как задачи должны распределяться между вычислительными узлами.
| Имя |
Тип |
Default value |
Описание |
|
jobDefaultOrder
|
JobDefaultOrder
|
|
Если не указано, по умолчанию используется значение none.
Порядок планирования задач из разных заданий с одинаковым приоритетом.
|
|
nodeFillType
|
ComputeNodeFillType
|
Spread
|
Порядок распределения задач между вычислительными узлами.
Порядок распределения задач между вычислительными узлами.
|
UefiSettings
Объект
Указывает параметры безопасности, такие как безопасная загрузка и vTPM, используемые при создании виртуальной машины.
| Имя |
Тип |
Описание |
|
secureBootEnabled
|
boolean
|
Указывает, следует ли включить безопасную загрузку на виртуальной машине.
|
|
vTpmEnabled
|
boolean
|
Указывает, следует ли включить vTPM на виртуальной машине.
|
UpgradeMode
Перечисление
Задает режим обновления до виртуальных машин в масштабируемом наборе.
Возможны следующие значения:
вручную. Вы управляете приложением обновлений виртуальных машин в масштабируемом наборе. Это можно сделать с помощью действия manualUpgrade.
автоматическое. Все виртуальные машины в масштабируемом наборе автоматически обновляются одновременно.
Скользящей. Масштабируемый набор выполняет обновления в пакетах с необязательным временем приостановки между ними.
| Значение |
Описание |
|
automatic
|
Все виртуальные машины в масштабируемом наборе автоматически обновляются одновременно.
|
|
manual
|
Вы управляете применением обновлений для виртуальных машин в масштабируемом наборе. Это можно сделать с помощью действия manualUpgrade.
|
|
rolling
|
Существующие экземпляры в масштабируемом наборе удаляются в пакетах для обновления. После завершения обновленного пакета экземпляры начнут принимать трафик снова, а следующий пакет начнется. Это продолжается до тех пор, пока все экземпляры не будут доставлены up-to-date.
|
UpgradePolicy
Объект
Описывает политику обновления — автоматическую, ручную или перекатную.
| Имя |
Тип |
Описание |
|
automaticOSUpgradePolicy
|
AutomaticOSUpgradePolicy
|
Параметры конфигурации, используемые для автоматического обновления ОС.
Параметры конфигурации, используемые для автоматического обновления ОС.
|
|
mode
|
UpgradeMode
|
Задает режим обновления до виртуальных машин в масштабируемом наборе.
Возможны следующие значения:
вручную. Вы управляете приложением обновлений виртуальных машин в масштабируемом наборе. Это можно сделать с помощью действия manualUpgrade.
автоматическое. Все виртуальные машины в масштабируемом наборе автоматически обновляются одновременно.
Скользящей. Масштабируемый набор выполняет обновления в пакетах с необязательным временем приостановки между ними.
Задает режим обновления до виртуальных машин в масштабируемом наборе.
Возможны следующие значения:
вручную. Вы управляете приложением обновлений виртуальных машин в масштабируемом наборе. Это можно сделать с помощью действия manualUpgrade.
автоматическое. Все виртуальные машины в масштабируемом наборе автоматически обновляются одновременно.
Скользящей. Масштабируемый набор выполняет обновления в пакетах с необязательным временем приостановки между ними.
|
|
rollingUpgradePolicy
|
RollingUpgradePolicy
|
Параметры конфигурации, используемые при выполнении последовательного обновления.
Параметры конфигурации, используемые при выполнении последовательного обновления.
|
UserAccount
Объект
Свойства, используемые для создания пользователя на узле пакетной службы Azure.
| Имя |
Тип |
Описание |
|
elevationLevel
|
ElevationLevel
|
Уровень повышения прав пользователя.
nonAdmin — автоматический пользователь является стандартным пользователем без повышенного доступа. администратор . Автоматический пользователь является пользователем с повышенным доступом и работает с полными разрешениями администратора. Значение по умолчанию — nonAdmin.
|
|
linuxUserConfiguration
|
LinuxUserConfiguration
|
Конфигурация пользователя для конкретной платформы Linux для учетной записи пользователя.
Это свойство игнорируется, если указано в пуле Windows. Если это не указано, пользователь создается с параметрами по умолчанию.
|
|
name
|
string
|
Имя учетной записи пользователя. Имена могут содержать любые символы Юникода до максимальной длины 20.
Имя учетной записи пользователя. Имена могут содержать любые символы Юникода до максимальной длины 20.
|
|
password
|
string
(password)
|
Пароль для учетной записи пользователя.
Пароль для учетной записи пользователя.
|
|
windowsUserConfiguration
|
WindowsUserConfiguration
|
Конфигурация пользователя для конкретной windows для учетной записи пользователя.
Это свойство можно указать только в том случае, если пользователь находится в пуле Windows. Если он не указан и в пуле Windows, пользователь создается с параметрами по умолчанию.
|
UserAssignedIdentities
Объект
Список связанных удостоверений пользователей.
| Имя |
Тип |
Описание |
|
clientId
|
string
|
Идентификатор клиента назначаемого пользователем удостоверения.
|
|
principalId
|
string
|
Идентификатор субъекта назначаемого пользователем удостоверения.
|
UserIdentity
Объект
Определение удостоверения пользователя, под которым выполняется задача.
| Имя |
Тип |
Описание |
|
autoUser
|
AutoUserSpecification
|
Автоматический пользователь, под которым выполняется задача.
Свойства userName и autoUser являются взаимоисключающими; необходимо указать один, но не оба.
|
|
userName
|
string
|
Имя удостоверения пользователя, под которым выполняется задача.
Свойства userName и autoUser являются взаимоисключающими; необходимо указать один, но не оба.
|
VirtualMachineConfiguration
Объект
Конфигурация вычислительных узлов в пуле на основе инфраструктуры виртуальных машин Azure.
| Имя |
Тип |
Описание |
|
containerConfiguration
|
ContainerConfiguration
|
Конфигурация контейнера для пула.
Если задано, программа установки выполняется на каждом узле в пуле, чтобы разрешить выполнение задач в контейнерах. Все обычные задачи и задачи диспетчера заданий, выполняемые в этом пуле, должны указывать свойство containerSettings, а все остальные задачи могут указывать его.
|
|
dataDisks
|
DataDisk[]
|
Конфигурация дисков данных, подключенных к вычислительным узлам в пуле.
Это свойство должно быть указано, если вычислительные узлы в пуле должны иметь пустые диски данных, подключенные к ним.
|
|
diskEncryptionConfiguration
|
DiskEncryptionConfiguration
|
Конфигурация шифрования дисков для пула.
При указании шифрование выполняется на каждом узле в пуле во время подготовки узлов.
|
|
extensions
|
VMExtension[]
|
Расширение виртуальной машины для пула.
При указании расширения, упомянутые в этой конфигурации, будут установлены на каждом узле.
|
|
imageReference
|
ImageReference
|
Ссылка на образ Marketplace виртуальных машин Azure или пользовательский образ виртуальной машины для использования.
Ссылка на образ Виртуальной машины Azure Marketplace или ресурс образа Azure настраиваемой виртуальной машины. Чтобы получить список всех образовReference, проверенных пакетной службой Azure, см. операцию "Список поддерживаемых номеров SKU агента узлов".
|
|
licenseType
|
string
|
Тип локальной лицензии, используемой при развертывании операционной системы.
Это относится только к образам, содержащим операционную систему Windows, и следует использовать только при удержании допустимых локальных лицензий для узлов, которые будут развернуты. Если не указано, скидка на лицензирование в локальной среде не применяется. Значения:
Windows_Server . Локальная лицензия предназначена для Windows Server.
Windows_Client . Локальная лицензия предназначена для клиента Windows.
|
|
nodeAgentSkuId
|
string
|
Номер SKU агента пакетного узла, который необходимо подготовить на вычислительных узлах в пуле.
Агент узла пакетной службы — это программа, которая выполняется на каждом узле в пуле и предоставляет интерфейс управления между узлом и пакетной службой. Существуют различные реализации агента узла, известного как номера SKU для разных операционных систем. Необходимо указать номер SKU агента узла, соответствующий выбранной ссылке на изображение. Чтобы получить список поддерживаемых номеров SKU агента узлов вместе со списком проверенных ссылок на образы, см. в разделе "Список поддерживаемых SKU агента узлов".
|
|
nodePlacementConfiguration
|
NodePlacementConfiguration
|
Конфигурация размещения узлов для пула.
Эта конфигурация будет указывать правила по тому, как узлы в пуле будут физически выделены.
|
|
osDisk
|
OSDisk
|
Параметры диска операционной системы виртуальной машины.
Содержит конфигурацию для эфемерных параметров OSDisk.
|
|
securityProfile
|
SecurityProfile
|
Задает параметры профиля безопасности для масштабируемого набора виртуальных машин или виртуальной машины.
Задает параметры профиля безопасности для масштабируемого набора виртуальных машин или виртуальной машины.
|
|
serviceArtifactReference
|
ServiceArtifactReference
|
Указывает идентификатор ссылки на артефакт службы, используемый для задания одной версии образа для всех виртуальных машин в масштабируемом наборе при использовании последней версии образа.
Идентификатор ссылки на артефакт службы в виде /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/gallerys/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName}
|
|
windowsConfiguration
|
WindowsConfiguration
|
Параметры операционной системы Windows на виртуальной машине.
Это свойство не должно быть указано, если imageReference указывает образ ОС Linux.
|
VMDiskSecurityProfile
Объект
Задает параметры профиля безопасности для управляемого диска.
примечание. Оно может быть задано только для конфиденциальных виртуальных машин и требуется при использовании конфиденциальных виртуальных машин.
| Имя |
Тип |
Описание |
|
diskEncryptionSet
|
DiskEncryptionSetParameters
|
Указывает идентификатор ресурса набора ресурсов шифрования управляемых пользователем дисков для управляемого диска, который используется для зашифрованного диска ОПЕРАЦИОННОй системы Конфиденциальной виртуальной машины и большого двоичного объекта VMGuest. Его можно установить только в режиме UserSubscription.
|
|
securityEncryptionType
|
SecurityEncryptionTypes
|
Указывает тип шифрования управляемого диска. Он имеет значение VMGuestStateOnly для шифрования только большого двоичного объекта VMGuestState и NonPersistedTPM для сохранения состояния встроенного ПО в BLOB-объекте VMGuestState.
примечание. Оно может быть задано только для конфиденциальных виртуальных машин и требуется при использовании конфиденциальных виртуальных машин.
Указывает тип шифрования управляемого диска. Он имеет значение VMGuestStateOnly для шифрования только большого двоичного объекта VMGuestState и NonPersistedTPM для сохранения состояния встроенного ПО в BLOB-объекте VMGuestState.
примечание. Оно может быть задано только для конфиденциальных виртуальных машин и требуется при использовании конфиденциальных виртуальных машин.
|
VMExtension
Объект
Конфигурация расширений виртуальных машин.
| Имя |
Тип |
Описание |
|
autoUpgradeMinorVersion
|
boolean
|
Указывает, следует ли использовать более новую дополнительную версию, если она доступна во время развертывания. Однако после развертывания расширение не будет обновлять дополнительные версии без повторного развертывания, даже если это свойство не имеет значения true.
|
|
enableAutomaticUpgrade
|
boolean
|
Указывает, следует ли автоматически обновлять расширение платформой, если доступна более новая версия расширения.
|
|
name
|
string
|
Имя расширения виртуальной машины.
Имя расширения виртуальной машины.
|
|
protectedSettings
|
|
Расширение может содержать защищенные параметрыSettings или protectedSettingsFromKeyVault или не иметь защищенных параметров.
|
|
provisionAfterExtensions
|
string[]
|
Коллекция имен расширений.
Коллекция имен расширений, после которой необходимо подготовить это расширение.
|
|
publisher
|
string
|
Имя издателя обработчика расширений.
Имя издателя обработчика расширений.
|
|
settings
|
|
Форматированные общедоступные параметры JSON для расширения.
Форматированные общедоступные параметры JSON для расширения.
|
|
type
|
string
|
Тип расширений.
Тип расширений.
|
|
typeHandlerVersion
|
string
|
Версия обработчика скрипта.
Версия обработчика скрипта.
|
WindowsConfiguration
Объект
Параметры операционной системы Windows для применения к виртуальной машине.
| Имя |
Тип |
Описание |
|
enableAutomaticUpdates
|
boolean
|
Включена ли автоматическая установка обновлений на виртуальной машине.
Если опущено, значение по умолчанию имеет значение true.
|
WindowsUserConfiguration
Объект
Свойства, используемые для создания учетной записи пользователя на узле Windows.
| Имя |
Тип |
Описание |
|
loginMode
|
LoginMode
|
Режим входа для пользователя
Задает режим входа для пользователя. Значение по умолчанию — Interactive.
|