1. Packages
  2. Azure Classic
  3. API Docs
  4. batch
  5. Pool

We recommend using Azure Native.

Azure Classic v5.80.0 published on Monday, Jun 10, 2024 by Pulumi

azure.batch.Pool

Explore with Pulumi AI

azure logo

We recommend using Azure Native.

Azure Classic v5.80.0 published on Monday, Jun 10, 2024 by Pulumi

    Manages an Azure Batch pool.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as azure from "@pulumi/azure";
    import * as std from "@pulumi/std";
    
    const example = new azure.core.ResourceGroup("example", {
        name: "testaccbatch",
        location: "West Europe",
    });
    const exampleAccount = new azure.storage.Account("example", {
        name: "testaccsa",
        resourceGroupName: example.name,
        location: example.location,
        accountTier: "Standard",
        accountReplicationType: "LRS",
    });
    const exampleAccount2 = new azure.batch.Account("example", {
        name: "testaccbatch",
        resourceGroupName: example.name,
        location: example.location,
        poolAllocationMode: "BatchService",
        storageAccountId: exampleAccount.id,
        storageAccountAuthenticationMode: "StorageKeys",
        tags: {
            env: "test",
        },
    });
    const exampleCertificate = new azure.batch.Certificate("example", {
        resourceGroupName: example.name,
        accountName: exampleAccount2.name,
        certificate: std.filebase64({
            input: "certificate.cer",
        }).then(invoke => invoke.result),
        format: "Cer",
        thumbprint: "312d31a79fa0cef49c00f769afc2b73e9f4edf34",
        thumbprintAlgorithm: "SHA1",
    });
    const examplePool = new azure.batch.Pool("example", {
        name: "testaccpool",
        resourceGroupName: example.name,
        accountName: exampleAccount2.name,
        displayName: "Test Acc Pool Auto",
        vmSize: "Standard_A1",
        nodeAgentSkuId: "batch.node.ubuntu 20.04",
        autoScale: {
            evaluationInterval: "PT15M",
            formula: `      startingNumberOfVMs = 1;
          maxNumberofVMs = 25;
          pendingTaskSamplePercent = PendingTasks.GetSamplePercent(180 * TimeInterval_Second);
          pendingTaskSamples = pendingTaskSamplePercent < 70 ? startingNumberOfVMs : avg(PendingTasks.GetSample(180 *   TimeInterval_Second));
          TargetDedicatedNodes=min(maxNumberofVMs, pendingTaskSamples);
    `,
        },
        storageImageReference: {
            publisher: "microsoft-azure-batch",
            offer: "ubuntu-server-container",
            sku: "20-04-lts",
            version: "latest",
        },
        containerConfiguration: {
            type: "DockerCompatible",
            containerRegistries: [{
                registryServer: "docker.io",
                userName: "login",
                password: "apassword",
            }],
        },
        startTask: {
            commandLine: "echo 'Hello World from $env'",
            taskRetryMaximum: 1,
            waitForSuccess: true,
            commonEnvironmentProperties: {
                env: "TEST",
            },
            userIdentity: {
                autoUser: {
                    elevationLevel: "NonAdmin",
                    scope: "Task",
                },
            },
        },
        certificates: [{
            id: exampleCertificate.id,
            storeLocation: "CurrentUser",
            visibilities: ["StartTask"],
        }],
    });
    
    import pulumi
    import pulumi_azure as azure
    import pulumi_std as std
    
    example = azure.core.ResourceGroup("example",
        name="testaccbatch",
        location="West Europe")
    example_account = azure.storage.Account("example",
        name="testaccsa",
        resource_group_name=example.name,
        location=example.location,
        account_tier="Standard",
        account_replication_type="LRS")
    example_account2 = azure.batch.Account("example",
        name="testaccbatch",
        resource_group_name=example.name,
        location=example.location,
        pool_allocation_mode="BatchService",
        storage_account_id=example_account.id,
        storage_account_authentication_mode="StorageKeys",
        tags={
            "env": "test",
        })
    example_certificate = azure.batch.Certificate("example",
        resource_group_name=example.name,
        account_name=example_account2.name,
        certificate=std.filebase64(input="certificate.cer").result,
        format="Cer",
        thumbprint="312d31a79fa0cef49c00f769afc2b73e9f4edf34",
        thumbprint_algorithm="SHA1")
    example_pool = azure.batch.Pool("example",
        name="testaccpool",
        resource_group_name=example.name,
        account_name=example_account2.name,
        display_name="Test Acc Pool Auto",
        vm_size="Standard_A1",
        node_agent_sku_id="batch.node.ubuntu 20.04",
        auto_scale=azure.batch.PoolAutoScaleArgs(
            evaluation_interval="PT15M",
            formula="""      startingNumberOfVMs = 1;
          maxNumberofVMs = 25;
          pendingTaskSamplePercent = $PendingTasks.GetSamplePercent(180 * TimeInterval_Second);
          pendingTaskSamples = pendingTaskSamplePercent < 70 ? startingNumberOfVMs : avg($PendingTasks.GetSample(180 *   TimeInterval_Second));
          $TargetDedicatedNodes=min(maxNumberofVMs, pendingTaskSamples);
    """,
        ),
        storage_image_reference=azure.batch.PoolStorageImageReferenceArgs(
            publisher="microsoft-azure-batch",
            offer="ubuntu-server-container",
            sku="20-04-lts",
            version="latest",
        ),
        container_configuration=azure.batch.PoolContainerConfigurationArgs(
            type="DockerCompatible",
            container_registries=[azure.batch.PoolContainerConfigurationContainerRegistryArgs(
                registry_server="docker.io",
                user_name="login",
                password="apassword",
            )],
        ),
        start_task=azure.batch.PoolStartTaskArgs(
            command_line="echo 'Hello World from $env'",
            task_retry_maximum=1,
            wait_for_success=True,
            common_environment_properties={
                "env": "TEST",
            },
            user_identity=azure.batch.PoolStartTaskUserIdentityArgs(
                auto_user=azure.batch.PoolStartTaskUserIdentityAutoUserArgs(
                    elevation_level="NonAdmin",
                    scope="Task",
                ),
            ),
        ),
        certificates=[azure.batch.PoolCertificateArgs(
            id=example_certificate.id,
            store_location="CurrentUser",
            visibilities=["StartTask"],
        )])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/batch"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage"
    	"github.com/pulumi/pulumi-std/sdk/go/std"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
    			Name:     pulumi.String("testaccbatch"),
    			Location: pulumi.String("West Europe"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleAccount, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{
    			Name:                   pulumi.String("testaccsa"),
    			ResourceGroupName:      example.Name,
    			Location:               example.Location,
    			AccountTier:            pulumi.String("Standard"),
    			AccountReplicationType: pulumi.String("LRS"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleAccount2, err := batch.NewAccount(ctx, "example", &batch.AccountArgs{
    			Name:                             pulumi.String("testaccbatch"),
    			ResourceGroupName:                example.Name,
    			Location:                         example.Location,
    			PoolAllocationMode:               pulumi.String("BatchService"),
    			StorageAccountId:                 exampleAccount.ID(),
    			StorageAccountAuthenticationMode: pulumi.String("StorageKeys"),
    			Tags: pulumi.StringMap{
    				"env": pulumi.String("test"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		invokeFilebase64, err := std.Filebase64(ctx, &std.Filebase64Args{
    			Input: "certificate.cer",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		exampleCertificate, err := batch.NewCertificate(ctx, "example", &batch.CertificateArgs{
    			ResourceGroupName:   example.Name,
    			AccountName:         exampleAccount2.Name,
    			Certificate:         invokeFilebase64.Result,
    			Format:              pulumi.String("Cer"),
    			Thumbprint:          pulumi.String("312d31a79fa0cef49c00f769afc2b73e9f4edf34"),
    			ThumbprintAlgorithm: pulumi.String("SHA1"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = batch.NewPool(ctx, "example", &batch.PoolArgs{
    			Name:              pulumi.String("testaccpool"),
    			ResourceGroupName: example.Name,
    			AccountName:       exampleAccount2.Name,
    			DisplayName:       pulumi.String("Test Acc Pool Auto"),
    			VmSize:            pulumi.String("Standard_A1"),
    			NodeAgentSkuId:    pulumi.String("batch.node.ubuntu 20.04"),
    			AutoScale: &batch.PoolAutoScaleArgs{
    				EvaluationInterval: pulumi.String("PT15M"),
    				Formula: pulumi.String(`      startingNumberOfVMs = 1;
          maxNumberofVMs = 25;
          pendingTaskSamplePercent = $PendingTasks.GetSamplePercent(180 * TimeInterval_Second);
          pendingTaskSamples = pendingTaskSamplePercent < 70 ? startingNumberOfVMs : avg($PendingTasks.GetSample(180 *   TimeInterval_Second));
          $TargetDedicatedNodes=min(maxNumberofVMs, pendingTaskSamples);
    `),
    			},
    			StorageImageReference: &batch.PoolStorageImageReferenceArgs{
    				Publisher: pulumi.String("microsoft-azure-batch"),
    				Offer:     pulumi.String("ubuntu-server-container"),
    				Sku:       pulumi.String("20-04-lts"),
    				Version:   pulumi.String("latest"),
    			},
    			ContainerConfiguration: &batch.PoolContainerConfigurationArgs{
    				Type: pulumi.String("DockerCompatible"),
    				ContainerRegistries: batch.PoolContainerConfigurationContainerRegistryArray{
    					&batch.PoolContainerConfigurationContainerRegistryArgs{
    						RegistryServer: pulumi.String("docker.io"),
    						UserName:       pulumi.String("login"),
    						Password:       pulumi.String("apassword"),
    					},
    				},
    			},
    			StartTask: &batch.PoolStartTaskArgs{
    				CommandLine:      pulumi.String("echo 'Hello World from $env'"),
    				TaskRetryMaximum: pulumi.Int(1),
    				WaitForSuccess:   pulumi.Bool(true),
    				CommonEnvironmentProperties: pulumi.StringMap{
    					"env": pulumi.String("TEST"),
    				},
    				UserIdentity: &batch.PoolStartTaskUserIdentityArgs{
    					AutoUser: &batch.PoolStartTaskUserIdentityAutoUserArgs{
    						ElevationLevel: pulumi.String("NonAdmin"),
    						Scope:          pulumi.String("Task"),
    					},
    				},
    			},
    			Certificates: batch.PoolCertificateArray{
    				&batch.PoolCertificateArgs{
    					Id:            exampleCertificate.ID(),
    					StoreLocation: pulumi.String("CurrentUser"),
    					Visibilities: pulumi.StringArray{
    						pulumi.String("StartTask"),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Azure = Pulumi.Azure;
    using Std = Pulumi.Std;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Azure.Core.ResourceGroup("example", new()
        {
            Name = "testaccbatch",
            Location = "West Europe",
        });
    
        var exampleAccount = new Azure.Storage.Account("example", new()
        {
            Name = "testaccsa",
            ResourceGroupName = example.Name,
            Location = example.Location,
            AccountTier = "Standard",
            AccountReplicationType = "LRS",
        });
    
        var exampleAccount2 = new Azure.Batch.Account("example", new()
        {
            Name = "testaccbatch",
            ResourceGroupName = example.Name,
            Location = example.Location,
            PoolAllocationMode = "BatchService",
            StorageAccountId = exampleAccount.Id,
            StorageAccountAuthenticationMode = "StorageKeys",
            Tags = 
            {
                { "env", "test" },
            },
        });
    
        var exampleCertificate = new Azure.Batch.Certificate("example", new()
        {
            ResourceGroupName = example.Name,
            AccountName = exampleAccount2.Name,
            BatchCertificate = Std.Filebase64.Invoke(new()
            {
                Input = "certificate.cer",
            }).Apply(invoke => invoke.Result),
            Format = "Cer",
            Thumbprint = "312d31a79fa0cef49c00f769afc2b73e9f4edf34",
            ThumbprintAlgorithm = "SHA1",
        });
    
        var examplePool = new Azure.Batch.Pool("example", new()
        {
            Name = "testaccpool",
            ResourceGroupName = example.Name,
            AccountName = exampleAccount2.Name,
            DisplayName = "Test Acc Pool Auto",
            VmSize = "Standard_A1",
            NodeAgentSkuId = "batch.node.ubuntu 20.04",
            AutoScale = new Azure.Batch.Inputs.PoolAutoScaleArgs
            {
                EvaluationInterval = "PT15M",
                Formula = @"      startingNumberOfVMs = 1;
          maxNumberofVMs = 25;
          pendingTaskSamplePercent = $PendingTasks.GetSamplePercent(180 * TimeInterval_Second);
          pendingTaskSamples = pendingTaskSamplePercent < 70 ? startingNumberOfVMs : avg($PendingTasks.GetSample(180 *   TimeInterval_Second));
          $TargetDedicatedNodes=min(maxNumberofVMs, pendingTaskSamples);
    ",
            },
            StorageImageReference = new Azure.Batch.Inputs.PoolStorageImageReferenceArgs
            {
                Publisher = "microsoft-azure-batch",
                Offer = "ubuntu-server-container",
                Sku = "20-04-lts",
                Version = "latest",
            },
            ContainerConfiguration = new Azure.Batch.Inputs.PoolContainerConfigurationArgs
            {
                Type = "DockerCompatible",
                ContainerRegistries = new[]
                {
                    new Azure.Batch.Inputs.PoolContainerConfigurationContainerRegistryArgs
                    {
                        RegistryServer = "docker.io",
                        UserName = "login",
                        Password = "apassword",
                    },
                },
            },
            StartTask = new Azure.Batch.Inputs.PoolStartTaskArgs
            {
                CommandLine = "echo 'Hello World from $env'",
                TaskRetryMaximum = 1,
                WaitForSuccess = true,
                CommonEnvironmentProperties = 
                {
                    { "env", "TEST" },
                },
                UserIdentity = new Azure.Batch.Inputs.PoolStartTaskUserIdentityArgs
                {
                    AutoUser = new Azure.Batch.Inputs.PoolStartTaskUserIdentityAutoUserArgs
                    {
                        ElevationLevel = "NonAdmin",
                        Scope = "Task",
                    },
                },
            },
            Certificates = new[]
            {
                new Azure.Batch.Inputs.PoolCertificateArgs
                {
                    Id = exampleCertificate.Id,
                    StoreLocation = "CurrentUser",
                    Visibilities = new[]
                    {
                        "StartTask",
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azure.core.ResourceGroup;
    import com.pulumi.azure.core.ResourceGroupArgs;
    import com.pulumi.azure.storage.Account;
    import com.pulumi.azure.storage.AccountArgs;
    import com.pulumi.azure.batch.Account;
    import com.pulumi.azure.batch.AccountArgs;
    import com.pulumi.azure.batch.Certificate;
    import com.pulumi.azure.batch.CertificateArgs;
    import com.pulumi.azure.batch.Pool;
    import com.pulumi.azure.batch.PoolArgs;
    import com.pulumi.azure.batch.inputs.PoolAutoScaleArgs;
    import com.pulumi.azure.batch.inputs.PoolStorageImageReferenceArgs;
    import com.pulumi.azure.batch.inputs.PoolContainerConfigurationArgs;
    import com.pulumi.azure.batch.inputs.PoolStartTaskArgs;
    import com.pulumi.azure.batch.inputs.PoolStartTaskUserIdentityArgs;
    import com.pulumi.azure.batch.inputs.PoolStartTaskUserIdentityAutoUserArgs;
    import com.pulumi.azure.batch.inputs.PoolCertificateArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new ResourceGroup("example", ResourceGroupArgs.builder()
                .name("testaccbatch")
                .location("West Europe")
                .build());
    
            var exampleAccount = new Account("exampleAccount", AccountArgs.builder()
                .name("testaccsa")
                .resourceGroupName(example.name())
                .location(example.location())
                .accountTier("Standard")
                .accountReplicationType("LRS")
                .build());
    
            var exampleAccount2 = new Account("exampleAccount2", AccountArgs.builder()
                .name("testaccbatch")
                .resourceGroupName(example.name())
                .location(example.location())
                .poolAllocationMode("BatchService")
                .storageAccountId(exampleAccount.id())
                .storageAccountAuthenticationMode("StorageKeys")
                .tags(Map.of("env", "test"))
                .build());
    
            var exampleCertificate = new Certificate("exampleCertificate", CertificateArgs.builder()
                .resourceGroupName(example.name())
                .accountName(exampleAccount2.name())
                .certificate(StdFunctions.filebase64(Filebase64Args.builder()
                    .input("certificate.cer")
                    .build()).result())
                .format("Cer")
                .thumbprint("312d31a79fa0cef49c00f769afc2b73e9f4edf34")
                .thumbprintAlgorithm("SHA1")
                .build());
    
            var examplePool = new Pool("examplePool", PoolArgs.builder()
                .name("testaccpool")
                .resourceGroupName(example.name())
                .accountName(exampleAccount2.name())
                .displayName("Test Acc Pool Auto")
                .vmSize("Standard_A1")
                .nodeAgentSkuId("batch.node.ubuntu 20.04")
                .autoScale(PoolAutoScaleArgs.builder()
                    .evaluationInterval("PT15M")
                    .formula("""
          startingNumberOfVMs = 1;
          maxNumberofVMs = 25;
          pendingTaskSamplePercent = $PendingTasks.GetSamplePercent(180 * TimeInterval_Second);
          pendingTaskSamples = pendingTaskSamplePercent < 70 ? startingNumberOfVMs : avg($PendingTasks.GetSample(180 *   TimeInterval_Second));
          $TargetDedicatedNodes=min(maxNumberofVMs, pendingTaskSamples);
                    """)
                    .build())
                .storageImageReference(PoolStorageImageReferenceArgs.builder()
                    .publisher("microsoft-azure-batch")
                    .offer("ubuntu-server-container")
                    .sku("20-04-lts")
                    .version("latest")
                    .build())
                .containerConfiguration(PoolContainerConfigurationArgs.builder()
                    .type("DockerCompatible")
                    .containerRegistries(PoolContainerConfigurationContainerRegistryArgs.builder()
                        .registryServer("docker.io")
                        .userName("login")
                        .password("apassword")
                        .build())
                    .build())
                .startTask(PoolStartTaskArgs.builder()
                    .commandLine("echo 'Hello World from $env'")
                    .taskRetryMaximum(1)
                    .waitForSuccess(true)
                    .commonEnvironmentProperties(Map.of("env", "TEST"))
                    .userIdentity(PoolStartTaskUserIdentityArgs.builder()
                        .autoUser(PoolStartTaskUserIdentityAutoUserArgs.builder()
                            .elevationLevel("NonAdmin")
                            .scope("Task")
                            .build())
                        .build())
                    .build())
                .certificates(PoolCertificateArgs.builder()
                    .id(exampleCertificate.id())
                    .storeLocation("CurrentUser")
                    .visibilities("StartTask")
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: azure:core:ResourceGroup
        properties:
          name: testaccbatch
          location: West Europe
      exampleAccount:
        type: azure:storage:Account
        name: example
        properties:
          name: testaccsa
          resourceGroupName: ${example.name}
          location: ${example.location}
          accountTier: Standard
          accountReplicationType: LRS
      exampleAccount2:
        type: azure:batch:Account
        name: example
        properties:
          name: testaccbatch
          resourceGroupName: ${example.name}
          location: ${example.location}
          poolAllocationMode: BatchService
          storageAccountId: ${exampleAccount.id}
          storageAccountAuthenticationMode: StorageKeys
          tags:
            env: test
      exampleCertificate:
        type: azure:batch:Certificate
        name: example
        properties:
          resourceGroupName: ${example.name}
          accountName: ${exampleAccount2.name}
          certificate:
            fn::invoke:
              Function: std:filebase64
              Arguments:
                input: certificate.cer
              Return: result
          format: Cer
          thumbprint: 312d31a79fa0cef49c00f769afc2b73e9f4edf34
          thumbprintAlgorithm: SHA1
      examplePool:
        type: azure:batch:Pool
        name: example
        properties:
          name: testaccpool
          resourceGroupName: ${example.name}
          accountName: ${exampleAccount2.name}
          displayName: Test Acc Pool Auto
          vmSize: Standard_A1
          nodeAgentSkuId: batch.node.ubuntu 20.04
          autoScale:
            evaluationInterval: PT15M
            formula: |2
                    startingNumberOfVMs = 1;
                    maxNumberofVMs = 25;
                    pendingTaskSamplePercent = $PendingTasks.GetSamplePercent(180 * TimeInterval_Second);
                    pendingTaskSamples = pendingTaskSamplePercent < 70 ? startingNumberOfVMs : avg($PendingTasks.GetSample(180 *   TimeInterval_Second));
                    $TargetDedicatedNodes=min(maxNumberofVMs, pendingTaskSamples);
          storageImageReference:
            publisher: microsoft-azure-batch
            offer: ubuntu-server-container
            sku: 20-04-lts
            version: latest
          containerConfiguration:
            type: DockerCompatible
            containerRegistries:
              - registryServer: docker.io
                userName: login
                password: apassword
          startTask:
            commandLine: echo 'Hello World from $env'
            taskRetryMaximum: 1
            waitForSuccess: true
            commonEnvironmentProperties:
              env: TEST
            userIdentity:
              autoUser:
                elevationLevel: NonAdmin
                scope: Task
          certificates:
            - id: ${exampleCertificate.id}
              storeLocation: CurrentUser
              visibilities:
                - StartTask
    

    Create Pool Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Pool(name: string, args: PoolArgs, opts?: CustomResourceOptions);
    @overload
    def Pool(resource_name: str,
             args: PoolArgs,
             opts: Optional[ResourceOptions] = None)
    
    @overload
    def Pool(resource_name: str,
             opts: Optional[ResourceOptions] = None,
             account_name: Optional[str] = None,
             vm_size: Optional[str] = None,
             storage_image_reference: Optional[PoolStorageImageReferenceArgs] = None,
             resource_group_name: Optional[str] = None,
             node_agent_sku_id: Optional[str] = None,
             mounts: Optional[Sequence[PoolMountArgs]] = None,
             network_configuration: Optional[PoolNetworkConfigurationArgs] = None,
             extensions: Optional[Sequence[PoolExtensionArgs]] = None,
             fixed_scale: Optional[PoolFixedScaleArgs] = None,
             identity: Optional[PoolIdentityArgs] = None,
             inter_node_communication: Optional[str] = None,
             license_type: Optional[str] = None,
             max_tasks_per_node: Optional[int] = None,
             metadata: Optional[Mapping[str, str]] = None,
             disk_encryptions: Optional[Sequence[PoolDiskEncryptionArgs]] = None,
             name: Optional[str] = None,
             display_name: Optional[str] = None,
             data_disks: Optional[Sequence[PoolDataDiskArgs]] = None,
             node_placements: Optional[Sequence[PoolNodePlacementArgs]] = None,
             os_disk_placement: Optional[str] = None,
             container_configuration: Optional[PoolContainerConfigurationArgs] = None,
             start_task: Optional[PoolStartTaskArgs] = None,
             stop_pending_resize_operation: Optional[bool] = None,
             certificates: Optional[Sequence[PoolCertificateArgs]] = None,
             target_node_communication_mode: Optional[str] = None,
             task_scheduling_policies: Optional[Sequence[PoolTaskSchedulingPolicyArgs]] = None,
             user_accounts: Optional[Sequence[PoolUserAccountArgs]] = None,
             auto_scale: Optional[PoolAutoScaleArgs] = None,
             windows: Optional[Sequence[PoolWindowArgs]] = None)
    func NewPool(ctx *Context, name string, args PoolArgs, opts ...ResourceOption) (*Pool, error)
    public Pool(string name, PoolArgs args, CustomResourceOptions? opts = null)
    public Pool(String name, PoolArgs args)
    public Pool(String name, PoolArgs args, CustomResourceOptions options)
    
    type: azure:batch:Pool
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args PoolArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args PoolArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args PoolArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args PoolArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args PoolArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

    The following reference example uses placeholder values for all input properties.

    var poolResource = new Azure.Batch.Pool("poolResource", new()
    {
        AccountName = "string",
        VmSize = "string",
        StorageImageReference = new Azure.Batch.Inputs.PoolStorageImageReferenceArgs
        {
            Id = "string",
            Offer = "string",
            Publisher = "string",
            Sku = "string",
            Version = "string",
        },
        ResourceGroupName = "string",
        NodeAgentSkuId = "string",
        Mounts = new[]
        {
            new Azure.Batch.Inputs.PoolMountArgs
            {
                AzureBlobFileSystem = new Azure.Batch.Inputs.PoolMountAzureBlobFileSystemArgs
                {
                    AccountName = "string",
                    ContainerName = "string",
                    RelativeMountPath = "string",
                    AccountKey = "string",
                    BlobfuseOptions = "string",
                    IdentityId = "string",
                    SasKey = "string",
                },
                AzureFileShares = new[]
                {
                    new Azure.Batch.Inputs.PoolMountAzureFileShareArgs
                    {
                        AccountKey = "string",
                        AccountName = "string",
                        AzureFileUrl = "string",
                        RelativeMountPath = "string",
                        MountOptions = "string",
                    },
                },
                CifsMounts = new[]
                {
                    new Azure.Batch.Inputs.PoolMountCifsMountArgs
                    {
                        Password = "string",
                        RelativeMountPath = "string",
                        Source = "string",
                        UserName = "string",
                        MountOptions = "string",
                    },
                },
                NfsMounts = new[]
                {
                    new Azure.Batch.Inputs.PoolMountNfsMountArgs
                    {
                        RelativeMountPath = "string",
                        Source = "string",
                        MountOptions = "string",
                    },
                },
            },
        },
        NetworkConfiguration = new Azure.Batch.Inputs.PoolNetworkConfigurationArgs
        {
            AcceleratedNetworkingEnabled = false,
            DynamicVnetAssignmentScope = "string",
            EndpointConfigurations = new[]
            {
                new Azure.Batch.Inputs.PoolNetworkConfigurationEndpointConfigurationArgs
                {
                    BackendPort = 0,
                    FrontendPortRange = "string",
                    Name = "string",
                    Protocol = "string",
                    NetworkSecurityGroupRules = new[]
                    {
                        new Azure.Batch.Inputs.PoolNetworkConfigurationEndpointConfigurationNetworkSecurityGroupRuleArgs
                        {
                            Access = "string",
                            Priority = 0,
                            SourceAddressPrefix = "string",
                            SourcePortRanges = new[]
                            {
                                "string",
                            },
                        },
                    },
                },
            },
            PublicAddressProvisioningType = "string",
            PublicIps = new[]
            {
                "string",
            },
            SubnetId = "string",
        },
        Extensions = new[]
        {
            new Azure.Batch.Inputs.PoolExtensionArgs
            {
                Name = "string",
                Publisher = "string",
                Type = "string",
                AutoUpgradeMinorVersion = false,
                AutomaticUpgradeEnabled = false,
                ProtectedSettings = "string",
                ProvisionAfterExtensions = new[]
                {
                    "string",
                },
                SettingsJson = "string",
                TypeHandlerVersion = "string",
            },
        },
        FixedScale = new Azure.Batch.Inputs.PoolFixedScaleArgs
        {
            NodeDeallocationMethod = "string",
            ResizeTimeout = "string",
            TargetDedicatedNodes = 0,
            TargetLowPriorityNodes = 0,
        },
        Identity = new Azure.Batch.Inputs.PoolIdentityArgs
        {
            IdentityIds = new[]
            {
                "string",
            },
            Type = "string",
        },
        InterNodeCommunication = "string",
        LicenseType = "string",
        MaxTasksPerNode = 0,
        Metadata = 
        {
            { "string", "string" },
        },
        DiskEncryptions = new[]
        {
            new Azure.Batch.Inputs.PoolDiskEncryptionArgs
            {
                DiskEncryptionTarget = "string",
            },
        },
        Name = "string",
        DisplayName = "string",
        DataDisks = new[]
        {
            new Azure.Batch.Inputs.PoolDataDiskArgs
            {
                DiskSizeGb = 0,
                Lun = 0,
                Caching = "string",
                StorageAccountType = "string",
            },
        },
        NodePlacements = new[]
        {
            new Azure.Batch.Inputs.PoolNodePlacementArgs
            {
                Policy = "string",
            },
        },
        OsDiskPlacement = "string",
        ContainerConfiguration = new Azure.Batch.Inputs.PoolContainerConfigurationArgs
        {
            ContainerImageNames = new[]
            {
                "string",
            },
            ContainerRegistries = new[]
            {
                new Azure.Batch.Inputs.PoolContainerConfigurationContainerRegistryArgs
                {
                    RegistryServer = "string",
                    Password = "string",
                    UserAssignedIdentityId = "string",
                    UserName = "string",
                },
            },
            Type = "string",
        },
        StartTask = new Azure.Batch.Inputs.PoolStartTaskArgs
        {
            CommandLine = "string",
            UserIdentity = new Azure.Batch.Inputs.PoolStartTaskUserIdentityArgs
            {
                AutoUser = new Azure.Batch.Inputs.PoolStartTaskUserIdentityAutoUserArgs
                {
                    ElevationLevel = "string",
                    Scope = "string",
                },
                UserName = "string",
            },
            CommonEnvironmentProperties = 
            {
                { "string", "string" },
            },
            Containers = new[]
            {
                new Azure.Batch.Inputs.PoolStartTaskContainerArgs
                {
                    ImageName = "string",
                    Registries = new[]
                    {
                        new Azure.Batch.Inputs.PoolStartTaskContainerRegistryArgs
                        {
                            RegistryServer = "string",
                            Password = "string",
                            UserAssignedIdentityId = "string",
                            UserName = "string",
                        },
                    },
                    RunOptions = "string",
                    WorkingDirectory = "string",
                },
            },
            ResourceFiles = new[]
            {
                new Azure.Batch.Inputs.PoolStartTaskResourceFileArgs
                {
                    AutoStorageContainerName = "string",
                    BlobPrefix = "string",
                    FileMode = "string",
                    FilePath = "string",
                    HttpUrl = "string",
                    StorageContainerUrl = "string",
                    UserAssignedIdentityId = "string",
                },
            },
            TaskRetryMaximum = 0,
            WaitForSuccess = false,
        },
        StopPendingResizeOperation = false,
        Certificates = new[]
        {
            new Azure.Batch.Inputs.PoolCertificateArgs
            {
                Id = "string",
                StoreLocation = "string",
                StoreName = "string",
                Visibilities = new[]
                {
                    "string",
                },
            },
        },
        TargetNodeCommunicationMode = "string",
        TaskSchedulingPolicies = new[]
        {
            new Azure.Batch.Inputs.PoolTaskSchedulingPolicyArgs
            {
                NodeFillType = "string",
            },
        },
        UserAccounts = new[]
        {
            new Azure.Batch.Inputs.PoolUserAccountArgs
            {
                ElevationLevel = "string",
                Name = "string",
                Password = "string",
                LinuxUserConfigurations = new[]
                {
                    new Azure.Batch.Inputs.PoolUserAccountLinuxUserConfigurationArgs
                    {
                        Gid = 0,
                        SshPrivateKey = "string",
                        Uid = 0,
                    },
                },
                WindowsUserConfigurations = new[]
                {
                    new Azure.Batch.Inputs.PoolUserAccountWindowsUserConfigurationArgs
                    {
                        LoginMode = "string",
                    },
                },
            },
        },
        AutoScale = new Azure.Batch.Inputs.PoolAutoScaleArgs
        {
            Formula = "string",
            EvaluationInterval = "string",
        },
        Windows = new[]
        {
            new Azure.Batch.Inputs.PoolWindowArgs
            {
                EnableAutomaticUpdates = false,
            },
        },
    });
    
    example, err := batch.NewPool(ctx, "poolResource", &batch.PoolArgs{
    	AccountName: pulumi.String("string"),
    	VmSize:      pulumi.String("string"),
    	StorageImageReference: &batch.PoolStorageImageReferenceArgs{
    		Id:        pulumi.String("string"),
    		Offer:     pulumi.String("string"),
    		Publisher: pulumi.String("string"),
    		Sku:       pulumi.String("string"),
    		Version:   pulumi.String("string"),
    	},
    	ResourceGroupName: pulumi.String("string"),
    	NodeAgentSkuId:    pulumi.String("string"),
    	Mounts: batch.PoolMountArray{
    		&batch.PoolMountArgs{
    			AzureBlobFileSystem: &batch.PoolMountAzureBlobFileSystemArgs{
    				AccountName:       pulumi.String("string"),
    				ContainerName:     pulumi.String("string"),
    				RelativeMountPath: pulumi.String("string"),
    				AccountKey:        pulumi.String("string"),
    				BlobfuseOptions:   pulumi.String("string"),
    				IdentityId:        pulumi.String("string"),
    				SasKey:            pulumi.String("string"),
    			},
    			AzureFileShares: batch.PoolMountAzureFileShareArray{
    				&batch.PoolMountAzureFileShareArgs{
    					AccountKey:        pulumi.String("string"),
    					AccountName:       pulumi.String("string"),
    					AzureFileUrl:      pulumi.String("string"),
    					RelativeMountPath: pulumi.String("string"),
    					MountOptions:      pulumi.String("string"),
    				},
    			},
    			CifsMounts: batch.PoolMountCifsMountArray{
    				&batch.PoolMountCifsMountArgs{
    					Password:          pulumi.String("string"),
    					RelativeMountPath: pulumi.String("string"),
    					Source:            pulumi.String("string"),
    					UserName:          pulumi.String("string"),
    					MountOptions:      pulumi.String("string"),
    				},
    			},
    			NfsMounts: batch.PoolMountNfsMountArray{
    				&batch.PoolMountNfsMountArgs{
    					RelativeMountPath: pulumi.String("string"),
    					Source:            pulumi.String("string"),
    					MountOptions:      pulumi.String("string"),
    				},
    			},
    		},
    	},
    	NetworkConfiguration: &batch.PoolNetworkConfigurationArgs{
    		AcceleratedNetworkingEnabled: pulumi.Bool(false),
    		DynamicVnetAssignmentScope:   pulumi.String("string"),
    		EndpointConfigurations: batch.PoolNetworkConfigurationEndpointConfigurationArray{
    			&batch.PoolNetworkConfigurationEndpointConfigurationArgs{
    				BackendPort:       pulumi.Int(0),
    				FrontendPortRange: pulumi.String("string"),
    				Name:              pulumi.String("string"),
    				Protocol:          pulumi.String("string"),
    				NetworkSecurityGroupRules: batch.PoolNetworkConfigurationEndpointConfigurationNetworkSecurityGroupRuleArray{
    					&batch.PoolNetworkConfigurationEndpointConfigurationNetworkSecurityGroupRuleArgs{
    						Access:              pulumi.String("string"),
    						Priority:            pulumi.Int(0),
    						SourceAddressPrefix: pulumi.String("string"),
    						SourcePortRanges: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    				},
    			},
    		},
    		PublicAddressProvisioningType: pulumi.String("string"),
    		PublicIps: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		SubnetId: pulumi.String("string"),
    	},
    	Extensions: batch.PoolExtensionArray{
    		&batch.PoolExtensionArgs{
    			Name:                    pulumi.String("string"),
    			Publisher:               pulumi.String("string"),
    			Type:                    pulumi.String("string"),
    			AutoUpgradeMinorVersion: pulumi.Bool(false),
    			AutomaticUpgradeEnabled: pulumi.Bool(false),
    			ProtectedSettings:       pulumi.String("string"),
    			ProvisionAfterExtensions: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			SettingsJson:       pulumi.String("string"),
    			TypeHandlerVersion: pulumi.String("string"),
    		},
    	},
    	FixedScale: &batch.PoolFixedScaleArgs{
    		NodeDeallocationMethod: pulumi.String("string"),
    		ResizeTimeout:          pulumi.String("string"),
    		TargetDedicatedNodes:   pulumi.Int(0),
    		TargetLowPriorityNodes: pulumi.Int(0),
    	},
    	Identity: &batch.PoolIdentityArgs{
    		IdentityIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Type: pulumi.String("string"),
    	},
    	InterNodeCommunication: pulumi.String("string"),
    	LicenseType:            pulumi.String("string"),
    	MaxTasksPerNode:        pulumi.Int(0),
    	Metadata: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	DiskEncryptions: batch.PoolDiskEncryptionArray{
    		&batch.PoolDiskEncryptionArgs{
    			DiskEncryptionTarget: pulumi.String("string"),
    		},
    	},
    	Name:        pulumi.String("string"),
    	DisplayName: pulumi.String("string"),
    	DataDisks: batch.PoolDataDiskArray{
    		&batch.PoolDataDiskArgs{
    			DiskSizeGb:         pulumi.Int(0),
    			Lun:                pulumi.Int(0),
    			Caching:            pulumi.String("string"),
    			StorageAccountType: pulumi.String("string"),
    		},
    	},
    	NodePlacements: batch.PoolNodePlacementArray{
    		&batch.PoolNodePlacementArgs{
    			Policy: pulumi.String("string"),
    		},
    	},
    	OsDiskPlacement: pulumi.String("string"),
    	ContainerConfiguration: &batch.PoolContainerConfigurationArgs{
    		ContainerImageNames: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		ContainerRegistries: batch.PoolContainerConfigurationContainerRegistryArray{
    			&batch.PoolContainerConfigurationContainerRegistryArgs{
    				RegistryServer:         pulumi.String("string"),
    				Password:               pulumi.String("string"),
    				UserAssignedIdentityId: pulumi.String("string"),
    				UserName:               pulumi.String("string"),
    			},
    		},
    		Type: pulumi.String("string"),
    	},
    	StartTask: &batch.PoolStartTaskArgs{
    		CommandLine: pulumi.String("string"),
    		UserIdentity: &batch.PoolStartTaskUserIdentityArgs{
    			AutoUser: &batch.PoolStartTaskUserIdentityAutoUserArgs{
    				ElevationLevel: pulumi.String("string"),
    				Scope:          pulumi.String("string"),
    			},
    			UserName: pulumi.String("string"),
    		},
    		CommonEnvironmentProperties: pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    		Containers: batch.PoolStartTaskContainerArray{
    			&batch.PoolStartTaskContainerArgs{
    				ImageName: pulumi.String("string"),
    				Registries: batch.PoolStartTaskContainerRegistryArray{
    					&batch.PoolStartTaskContainerRegistryArgs{
    						RegistryServer:         pulumi.String("string"),
    						Password:               pulumi.String("string"),
    						UserAssignedIdentityId: pulumi.String("string"),
    						UserName:               pulumi.String("string"),
    					},
    				},
    				RunOptions:       pulumi.String("string"),
    				WorkingDirectory: pulumi.String("string"),
    			},
    		},
    		ResourceFiles: batch.PoolStartTaskResourceFileArray{
    			&batch.PoolStartTaskResourceFileArgs{
    				AutoStorageContainerName: pulumi.String("string"),
    				BlobPrefix:               pulumi.String("string"),
    				FileMode:                 pulumi.String("string"),
    				FilePath:                 pulumi.String("string"),
    				HttpUrl:                  pulumi.String("string"),
    				StorageContainerUrl:      pulumi.String("string"),
    				UserAssignedIdentityId:   pulumi.String("string"),
    			},
    		},
    		TaskRetryMaximum: pulumi.Int(0),
    		WaitForSuccess:   pulumi.Bool(false),
    	},
    	StopPendingResizeOperation: pulumi.Bool(false),
    	Certificates: batch.PoolCertificateArray{
    		&batch.PoolCertificateArgs{
    			Id:            pulumi.String("string"),
    			StoreLocation: pulumi.String("string"),
    			StoreName:     pulumi.String("string"),
    			Visibilities: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	TargetNodeCommunicationMode: pulumi.String("string"),
    	TaskSchedulingPolicies: batch.PoolTaskSchedulingPolicyArray{
    		&batch.PoolTaskSchedulingPolicyArgs{
    			NodeFillType: pulumi.String("string"),
    		},
    	},
    	UserAccounts: batch.PoolUserAccountArray{
    		&batch.PoolUserAccountArgs{
    			ElevationLevel: pulumi.String("string"),
    			Name:           pulumi.String("string"),
    			Password:       pulumi.String("string"),
    			LinuxUserConfigurations: batch.PoolUserAccountLinuxUserConfigurationArray{
    				&batch.PoolUserAccountLinuxUserConfigurationArgs{
    					Gid:           pulumi.Int(0),
    					SshPrivateKey: pulumi.String("string"),
    					Uid:           pulumi.Int(0),
    				},
    			},
    			WindowsUserConfigurations: batch.PoolUserAccountWindowsUserConfigurationArray{
    				&batch.PoolUserAccountWindowsUserConfigurationArgs{
    					LoginMode: pulumi.String("string"),
    				},
    			},
    		},
    	},
    	AutoScale: &batch.PoolAutoScaleArgs{
    		Formula:            pulumi.String("string"),
    		EvaluationInterval: pulumi.String("string"),
    	},
    	Windows: batch.PoolWindowArray{
    		&batch.PoolWindowArgs{
    			EnableAutomaticUpdates: pulumi.Bool(false),
    		},
    	},
    })
    
    var poolResource = new Pool("poolResource", PoolArgs.builder()
        .accountName("string")
        .vmSize("string")
        .storageImageReference(PoolStorageImageReferenceArgs.builder()
            .id("string")
            .offer("string")
            .publisher("string")
            .sku("string")
            .version("string")
            .build())
        .resourceGroupName("string")
        .nodeAgentSkuId("string")
        .mounts(PoolMountArgs.builder()
            .azureBlobFileSystem(PoolMountAzureBlobFileSystemArgs.builder()
                .accountName("string")
                .containerName("string")
                .relativeMountPath("string")
                .accountKey("string")
                .blobfuseOptions("string")
                .identityId("string")
                .sasKey("string")
                .build())
            .azureFileShares(PoolMountAzureFileShareArgs.builder()
                .accountKey("string")
                .accountName("string")
                .azureFileUrl("string")
                .relativeMountPath("string")
                .mountOptions("string")
                .build())
            .cifsMounts(PoolMountCifsMountArgs.builder()
                .password("string")
                .relativeMountPath("string")
                .source("string")
                .userName("string")
                .mountOptions("string")
                .build())
            .nfsMounts(PoolMountNfsMountArgs.builder()
                .relativeMountPath("string")
                .source("string")
                .mountOptions("string")
                .build())
            .build())
        .networkConfiguration(PoolNetworkConfigurationArgs.builder()
            .acceleratedNetworkingEnabled(false)
            .dynamicVnetAssignmentScope("string")
            .endpointConfigurations(PoolNetworkConfigurationEndpointConfigurationArgs.builder()
                .backendPort(0)
                .frontendPortRange("string")
                .name("string")
                .protocol("string")
                .networkSecurityGroupRules(PoolNetworkConfigurationEndpointConfigurationNetworkSecurityGroupRuleArgs.builder()
                    .access("string")
                    .priority(0)
                    .sourceAddressPrefix("string")
                    .sourcePortRanges("string")
                    .build())
                .build())
            .publicAddressProvisioningType("string")
            .publicIps("string")
            .subnetId("string")
            .build())
        .extensions(PoolExtensionArgs.builder()
            .name("string")
            .publisher("string")
            .type("string")
            .autoUpgradeMinorVersion(false)
            .automaticUpgradeEnabled(false)
            .protectedSettings("string")
            .provisionAfterExtensions("string")
            .settingsJson("string")
            .typeHandlerVersion("string")
            .build())
        .fixedScale(PoolFixedScaleArgs.builder()
            .nodeDeallocationMethod("string")
            .resizeTimeout("string")
            .targetDedicatedNodes(0)
            .targetLowPriorityNodes(0)
            .build())
        .identity(PoolIdentityArgs.builder()
            .identityIds("string")
            .type("string")
            .build())
        .interNodeCommunication("string")
        .licenseType("string")
        .maxTasksPerNode(0)
        .metadata(Map.of("string", "string"))
        .diskEncryptions(PoolDiskEncryptionArgs.builder()
            .diskEncryptionTarget("string")
            .build())
        .name("string")
        .displayName("string")
        .dataDisks(PoolDataDiskArgs.builder()
            .diskSizeGb(0)
            .lun(0)
            .caching("string")
            .storageAccountType("string")
            .build())
        .nodePlacements(PoolNodePlacementArgs.builder()
            .policy("string")
            .build())
        .osDiskPlacement("string")
        .containerConfiguration(PoolContainerConfigurationArgs.builder()
            .containerImageNames("string")
            .containerRegistries(PoolContainerConfigurationContainerRegistryArgs.builder()
                .registryServer("string")
                .password("string")
                .userAssignedIdentityId("string")
                .userName("string")
                .build())
            .type("string")
            .build())
        .startTask(PoolStartTaskArgs.builder()
            .commandLine("string")
            .userIdentity(PoolStartTaskUserIdentityArgs.builder()
                .autoUser(PoolStartTaskUserIdentityAutoUserArgs.builder()
                    .elevationLevel("string")
                    .scope("string")
                    .build())
                .userName("string")
                .build())
            .commonEnvironmentProperties(Map.of("string", "string"))
            .containers(PoolStartTaskContainerArgs.builder()
                .imageName("string")
                .registries(PoolStartTaskContainerRegistryArgs.builder()
                    .registryServer("string")
                    .password("string")
                    .userAssignedIdentityId("string")
                    .userName("string")
                    .build())
                .runOptions("string")
                .workingDirectory("string")
                .build())
            .resourceFiles(PoolStartTaskResourceFileArgs.builder()
                .autoStorageContainerName("string")
                .blobPrefix("string")
                .fileMode("string")
                .filePath("string")
                .httpUrl("string")
                .storageContainerUrl("string")
                .userAssignedIdentityId("string")
                .build())
            .taskRetryMaximum(0)
            .waitForSuccess(false)
            .build())
        .stopPendingResizeOperation(false)
        .certificates(PoolCertificateArgs.builder()
            .id("string")
            .storeLocation("string")
            .storeName("string")
            .visibilities("string")
            .build())
        .targetNodeCommunicationMode("string")
        .taskSchedulingPolicies(PoolTaskSchedulingPolicyArgs.builder()
            .nodeFillType("string")
            .build())
        .userAccounts(PoolUserAccountArgs.builder()
            .elevationLevel("string")
            .name("string")
            .password("string")
            .linuxUserConfigurations(PoolUserAccountLinuxUserConfigurationArgs.builder()
                .gid(0)
                .sshPrivateKey("string")
                .uid(0)
                .build())
            .windowsUserConfigurations(PoolUserAccountWindowsUserConfigurationArgs.builder()
                .loginMode("string")
                .build())
            .build())
        .autoScale(PoolAutoScaleArgs.builder()
            .formula("string")
            .evaluationInterval("string")
            .build())
        .windows(PoolWindowArgs.builder()
            .enableAutomaticUpdates(false)
            .build())
        .build());
    
    pool_resource = azure.batch.Pool("poolResource",
        account_name="string",
        vm_size="string",
        storage_image_reference=azure.batch.PoolStorageImageReferenceArgs(
            id="string",
            offer="string",
            publisher="string",
            sku="string",
            version="string",
        ),
        resource_group_name="string",
        node_agent_sku_id="string",
        mounts=[azure.batch.PoolMountArgs(
            azure_blob_file_system=azure.batch.PoolMountAzureBlobFileSystemArgs(
                account_name="string",
                container_name="string",
                relative_mount_path="string",
                account_key="string",
                blobfuse_options="string",
                identity_id="string",
                sas_key="string",
            ),
            azure_file_shares=[azure.batch.PoolMountAzureFileShareArgs(
                account_key="string",
                account_name="string",
                azure_file_url="string",
                relative_mount_path="string",
                mount_options="string",
            )],
            cifs_mounts=[azure.batch.PoolMountCifsMountArgs(
                password="string",
                relative_mount_path="string",
                source="string",
                user_name="string",
                mount_options="string",
            )],
            nfs_mounts=[azure.batch.PoolMountNfsMountArgs(
                relative_mount_path="string",
                source="string",
                mount_options="string",
            )],
        )],
        network_configuration=azure.batch.PoolNetworkConfigurationArgs(
            accelerated_networking_enabled=False,
            dynamic_vnet_assignment_scope="string",
            endpoint_configurations=[azure.batch.PoolNetworkConfigurationEndpointConfigurationArgs(
                backend_port=0,
                frontend_port_range="string",
                name="string",
                protocol="string",
                network_security_group_rules=[azure.batch.PoolNetworkConfigurationEndpointConfigurationNetworkSecurityGroupRuleArgs(
                    access="string",
                    priority=0,
                    source_address_prefix="string",
                    source_port_ranges=["string"],
                )],
            )],
            public_address_provisioning_type="string",
            public_ips=["string"],
            subnet_id="string",
        ),
        extensions=[azure.batch.PoolExtensionArgs(
            name="string",
            publisher="string",
            type="string",
            auto_upgrade_minor_version=False,
            automatic_upgrade_enabled=False,
            protected_settings="string",
            provision_after_extensions=["string"],
            settings_json="string",
            type_handler_version="string",
        )],
        fixed_scale=azure.batch.PoolFixedScaleArgs(
            node_deallocation_method="string",
            resize_timeout="string",
            target_dedicated_nodes=0,
            target_low_priority_nodes=0,
        ),
        identity=azure.batch.PoolIdentityArgs(
            identity_ids=["string"],
            type="string",
        ),
        inter_node_communication="string",
        license_type="string",
        max_tasks_per_node=0,
        metadata={
            "string": "string",
        },
        disk_encryptions=[azure.batch.PoolDiskEncryptionArgs(
            disk_encryption_target="string",
        )],
        name="string",
        display_name="string",
        data_disks=[azure.batch.PoolDataDiskArgs(
            disk_size_gb=0,
            lun=0,
            caching="string",
            storage_account_type="string",
        )],
        node_placements=[azure.batch.PoolNodePlacementArgs(
            policy="string",
        )],
        os_disk_placement="string",
        container_configuration=azure.batch.PoolContainerConfigurationArgs(
            container_image_names=["string"],
            container_registries=[azure.batch.PoolContainerConfigurationContainerRegistryArgs(
                registry_server="string",
                password="string",
                user_assigned_identity_id="string",
                user_name="string",
            )],
            type="string",
        ),
        start_task=azure.batch.PoolStartTaskArgs(
            command_line="string",
            user_identity=azure.batch.PoolStartTaskUserIdentityArgs(
                auto_user=azure.batch.PoolStartTaskUserIdentityAutoUserArgs(
                    elevation_level="string",
                    scope="string",
                ),
                user_name="string",
            ),
            common_environment_properties={
                "string": "string",
            },
            containers=[azure.batch.PoolStartTaskContainerArgs(
                image_name="string",
                registries=[azure.batch.PoolStartTaskContainerRegistryArgs(
                    registry_server="string",
                    password="string",
                    user_assigned_identity_id="string",
                    user_name="string",
                )],
                run_options="string",
                working_directory="string",
            )],
            resource_files=[azure.batch.PoolStartTaskResourceFileArgs(
                auto_storage_container_name="string",
                blob_prefix="string",
                file_mode="string",
                file_path="string",
                http_url="string",
                storage_container_url="string",
                user_assigned_identity_id="string",
            )],
            task_retry_maximum=0,
            wait_for_success=False,
        ),
        stop_pending_resize_operation=False,
        certificates=[azure.batch.PoolCertificateArgs(
            id="string",
            store_location="string",
            store_name="string",
            visibilities=["string"],
        )],
        target_node_communication_mode="string",
        task_scheduling_policies=[azure.batch.PoolTaskSchedulingPolicyArgs(
            node_fill_type="string",
        )],
        user_accounts=[azure.batch.PoolUserAccountArgs(
            elevation_level="string",
            name="string",
            password="string",
            linux_user_configurations=[azure.batch.PoolUserAccountLinuxUserConfigurationArgs(
                gid=0,
                ssh_private_key="string",
                uid=0,
            )],
            windows_user_configurations=[azure.batch.PoolUserAccountWindowsUserConfigurationArgs(
                login_mode="string",
            )],
        )],
        auto_scale=azure.batch.PoolAutoScaleArgs(
            formula="string",
            evaluation_interval="string",
        ),
        windows=[azure.batch.PoolWindowArgs(
            enable_automatic_updates=False,
        )])
    
    const poolResource = new azure.batch.Pool("poolResource", {
        accountName: "string",
        vmSize: "string",
        storageImageReference: {
            id: "string",
            offer: "string",
            publisher: "string",
            sku: "string",
            version: "string",
        },
        resourceGroupName: "string",
        nodeAgentSkuId: "string",
        mounts: [{
            azureBlobFileSystem: {
                accountName: "string",
                containerName: "string",
                relativeMountPath: "string",
                accountKey: "string",
                blobfuseOptions: "string",
                identityId: "string",
                sasKey: "string",
            },
            azureFileShares: [{
                accountKey: "string",
                accountName: "string",
                azureFileUrl: "string",
                relativeMountPath: "string",
                mountOptions: "string",
            }],
            cifsMounts: [{
                password: "string",
                relativeMountPath: "string",
                source: "string",
                userName: "string",
                mountOptions: "string",
            }],
            nfsMounts: [{
                relativeMountPath: "string",
                source: "string",
                mountOptions: "string",
            }],
        }],
        networkConfiguration: {
            acceleratedNetworkingEnabled: false,
            dynamicVnetAssignmentScope: "string",
            endpointConfigurations: [{
                backendPort: 0,
                frontendPortRange: "string",
                name: "string",
                protocol: "string",
                networkSecurityGroupRules: [{
                    access: "string",
                    priority: 0,
                    sourceAddressPrefix: "string",
                    sourcePortRanges: ["string"],
                }],
            }],
            publicAddressProvisioningType: "string",
            publicIps: ["string"],
            subnetId: "string",
        },
        extensions: [{
            name: "string",
            publisher: "string",
            type: "string",
            autoUpgradeMinorVersion: false,
            automaticUpgradeEnabled: false,
            protectedSettings: "string",
            provisionAfterExtensions: ["string"],
            settingsJson: "string",
            typeHandlerVersion: "string",
        }],
        fixedScale: {
            nodeDeallocationMethod: "string",
            resizeTimeout: "string",
            targetDedicatedNodes: 0,
            targetLowPriorityNodes: 0,
        },
        identity: {
            identityIds: ["string"],
            type: "string",
        },
        interNodeCommunication: "string",
        licenseType: "string",
        maxTasksPerNode: 0,
        metadata: {
            string: "string",
        },
        diskEncryptions: [{
            diskEncryptionTarget: "string",
        }],
        name: "string",
        displayName: "string",
        dataDisks: [{
            diskSizeGb: 0,
            lun: 0,
            caching: "string",
            storageAccountType: "string",
        }],
        nodePlacements: [{
            policy: "string",
        }],
        osDiskPlacement: "string",
        containerConfiguration: {
            containerImageNames: ["string"],
            containerRegistries: [{
                registryServer: "string",
                password: "string",
                userAssignedIdentityId: "string",
                userName: "string",
            }],
            type: "string",
        },
        startTask: {
            commandLine: "string",
            userIdentity: {
                autoUser: {
                    elevationLevel: "string",
                    scope: "string",
                },
                userName: "string",
            },
            commonEnvironmentProperties: {
                string: "string",
            },
            containers: [{
                imageName: "string",
                registries: [{
                    registryServer: "string",
                    password: "string",
                    userAssignedIdentityId: "string",
                    userName: "string",
                }],
                runOptions: "string",
                workingDirectory: "string",
            }],
            resourceFiles: [{
                autoStorageContainerName: "string",
                blobPrefix: "string",
                fileMode: "string",
                filePath: "string",
                httpUrl: "string",
                storageContainerUrl: "string",
                userAssignedIdentityId: "string",
            }],
            taskRetryMaximum: 0,
            waitForSuccess: false,
        },
        stopPendingResizeOperation: false,
        certificates: [{
            id: "string",
            storeLocation: "string",
            storeName: "string",
            visibilities: ["string"],
        }],
        targetNodeCommunicationMode: "string",
        taskSchedulingPolicies: [{
            nodeFillType: "string",
        }],
        userAccounts: [{
            elevationLevel: "string",
            name: "string",
            password: "string",
            linuxUserConfigurations: [{
                gid: 0,
                sshPrivateKey: "string",
                uid: 0,
            }],
            windowsUserConfigurations: [{
                loginMode: "string",
            }],
        }],
        autoScale: {
            formula: "string",
            evaluationInterval: "string",
        },
        windows: [{
            enableAutomaticUpdates: false,
        }],
    });
    
    type: azure:batch:Pool
    properties:
        accountName: string
        autoScale:
            evaluationInterval: string
            formula: string
        certificates:
            - id: string
              storeLocation: string
              storeName: string
              visibilities:
                - string
        containerConfiguration:
            containerImageNames:
                - string
            containerRegistries:
                - password: string
                  registryServer: string
                  userAssignedIdentityId: string
                  userName: string
            type: string
        dataDisks:
            - caching: string
              diskSizeGb: 0
              lun: 0
              storageAccountType: string
        diskEncryptions:
            - diskEncryptionTarget: string
        displayName: string
        extensions:
            - autoUpgradeMinorVersion: false
              automaticUpgradeEnabled: false
              name: string
              protectedSettings: string
              provisionAfterExtensions:
                - string
              publisher: string
              settingsJson: string
              type: string
              typeHandlerVersion: string
        fixedScale:
            nodeDeallocationMethod: string
            resizeTimeout: string
            targetDedicatedNodes: 0
            targetLowPriorityNodes: 0
        identity:
            identityIds:
                - string
            type: string
        interNodeCommunication: string
        licenseType: string
        maxTasksPerNode: 0
        metadata:
            string: string
        mounts:
            - azureBlobFileSystem:
                accountKey: string
                accountName: string
                blobfuseOptions: string
                containerName: string
                identityId: string
                relativeMountPath: string
                sasKey: string
              azureFileShares:
                - accountKey: string
                  accountName: string
                  azureFileUrl: string
                  mountOptions: string
                  relativeMountPath: string
              cifsMounts:
                - mountOptions: string
                  password: string
                  relativeMountPath: string
                  source: string
                  userName: string
              nfsMounts:
                - mountOptions: string
                  relativeMountPath: string
                  source: string
        name: string
        networkConfiguration:
            acceleratedNetworkingEnabled: false
            dynamicVnetAssignmentScope: string
            endpointConfigurations:
                - backendPort: 0
                  frontendPortRange: string
                  name: string
                  networkSecurityGroupRules:
                    - access: string
                      priority: 0
                      sourceAddressPrefix: string
                      sourcePortRanges:
                        - string
                  protocol: string
            publicAddressProvisioningType: string
            publicIps:
                - string
            subnetId: string
        nodeAgentSkuId: string
        nodePlacements:
            - policy: string
        osDiskPlacement: string
        resourceGroupName: string
        startTask:
            commandLine: string
            commonEnvironmentProperties:
                string: string
            containers:
                - imageName: string
                  registries:
                    - password: string
                      registryServer: string
                      userAssignedIdentityId: string
                      userName: string
                  runOptions: string
                  workingDirectory: string
            resourceFiles:
                - autoStorageContainerName: string
                  blobPrefix: string
                  fileMode: string
                  filePath: string
                  httpUrl: string
                  storageContainerUrl: string
                  userAssignedIdentityId: string
            taskRetryMaximum: 0
            userIdentity:
                autoUser:
                    elevationLevel: string
                    scope: string
                userName: string
            waitForSuccess: false
        stopPendingResizeOperation: false
        storageImageReference:
            id: string
            offer: string
            publisher: string
            sku: string
            version: string
        targetNodeCommunicationMode: string
        taskSchedulingPolicies:
            - nodeFillType: string
        userAccounts:
            - elevationLevel: string
              linuxUserConfigurations:
                - gid: 0
                  sshPrivateKey: string
                  uid: 0
              name: string
              password: string
              windowsUserConfigurations:
                - loginMode: string
        vmSize: string
        windows:
            - enableAutomaticUpdates: false
    

    Pool Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The Pool resource accepts the following input properties:

    AccountName string
    Specifies the name of the Batch account in which the pool will be created. Changing this forces a new resource to be created.
    NodeAgentSkuId string
    Specifies the SKU of the node agents that will be created in the Batch pool. Changing this forces a new resource to be created.
    ResourceGroupName string
    The name of the resource group in which to create the Batch pool. Changing this forces a new resource to be created.
    StorageImageReference PoolStorageImageReference
    A storage_image_reference block for the virtual machines that will compose the Batch pool as defined below. Changing this forces a new resource to be created.
    VmSize string
    Specifies the size of the VM created in the Batch pool. Changing this forces a new resource to be created.
    AutoScale PoolAutoScale
    A auto_scale block that describes the scale settings when using auto scale as defined below.
    Certificates List<PoolCertificate>
    One or more certificate blocks that describe the certificates to be installed on each compute node in the pool as defined below.
    ContainerConfiguration PoolContainerConfiguration
    The container configuration used in the pool's VMs. One container_configuration block as defined below.
    DataDisks List<PoolDataDisk>
    A data_disks block describes the data disk settings as defined below.
    DiskEncryptions List<PoolDiskEncryption>
    A disk_encryption block, as defined below, describes the disk encryption configuration applied on compute nodes in the pool. Disk encryption configuration is not supported on Linux pool created with Virtual Machine Image or Shared Image Gallery Image.
    DisplayName string
    Specifies the display name of the Batch pool. Changing this forces a new resource to be created.
    Extensions List<PoolExtension>
    An extensions block as defined below.
    FixedScale PoolFixedScale
    A fixed_scale block that describes the scale settings when using fixed scale as defined below.
    Identity PoolIdentity
    An identity block as defined below.
    InterNodeCommunication string
    Whether the pool permits direct communication between nodes. This imposes restrictions on which nodes can be assigned to the pool. Enabling this value can reduce the chance of the requested number of nodes to be allocated in the pool. Values allowed are Disabled and Enabled. Defaults to Enabled.
    LicenseType string
    The type of on-premises license to be used when deploying the operating system. This only applies to images that contain the Windows operating system, and should only be used when you hold valid on-premises licenses for the nodes which will be deployed. If omitted, no on-premises licensing discount is applied. Values are: "Windows_Server" - The on-premises license is for Windows Server. "Windows_Client" - The on-premises license is for Windows Client.
    MaxTasksPerNode int
    Specifies the maximum number of tasks that can run concurrently on a single compute node in the pool. Defaults to 1. Changing this forces a new resource to be created.
    Metadata Dictionary<string, string>
    A map of custom batch pool metadata.
    Mounts List<PoolMount>
    A mount block defined as below.
    Name string
    Specifies the name of the Batch pool. Changing this forces a new resource to be created.
    NetworkConfiguration PoolNetworkConfiguration
    A network_configuration block that describes the network configurations for the Batch pool as defined below. Changing this forces a new resource to be created.
    NodePlacements List<PoolNodePlacement>
    A node_placement block that describes the placement policy for allocating nodes in the pool as defined below.
    OsDiskPlacement string
    Specifies the ephemeral disk placement for operating system disk for all VMs in the pool. This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements. The only possible value is CacheDisk.
    StartTask PoolStartTask
    A start_task block that describes the start task settings for the Batch pool as defined below.
    StopPendingResizeOperation bool
    Whether to stop if there is a pending resize operation on this pool.
    TargetNodeCommunicationMode string
    The desired node communication mode for the pool. Possible values are Classic, Default and Simplified.
    TaskSchedulingPolicies List<PoolTaskSchedulingPolicy>
    A task_scheduling_policy block that describes how tasks are distributed across compute nodes in a pool as defined below. If not specified, the default is spread as defined below.
    UserAccounts List<PoolUserAccount>
    A user_accounts block that describes the list of user accounts to be created on each node in the pool as defined below.
    Windows List<PoolWindow>

    A windows block that describes the Windows configuration in the pool as defined below.

    NOTE: For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of remoteUser, a certs directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.

    Please Note: fixed_scale and auto_scale blocks cannot be used both at the same time.

    AccountName string
    Specifies the name of the Batch account in which the pool will be created. Changing this forces a new resource to be created.
    NodeAgentSkuId string
    Specifies the SKU of the node agents that will be created in the Batch pool. Changing this forces a new resource to be created.
    ResourceGroupName string
    The name of the resource group in which to create the Batch pool. Changing this forces a new resource to be created.
    StorageImageReference PoolStorageImageReferenceArgs
    A storage_image_reference block for the virtual machines that will compose the Batch pool as defined below. Changing this forces a new resource to be created.
    VmSize string
    Specifies the size of the VM created in the Batch pool. Changing this forces a new resource to be created.
    AutoScale PoolAutoScaleArgs
    A auto_scale block that describes the scale settings when using auto scale as defined below.
    Certificates []PoolCertificateArgs
    One or more certificate blocks that describe the certificates to be installed on each compute node in the pool as defined below.
    ContainerConfiguration PoolContainerConfigurationArgs
    The container configuration used in the pool's VMs. One container_configuration block as defined below.
    DataDisks []PoolDataDiskArgs
    A data_disks block describes the data disk settings as defined below.
    DiskEncryptions []PoolDiskEncryptionArgs
    A disk_encryption block, as defined below, describes the disk encryption configuration applied on compute nodes in the pool. Disk encryption configuration is not supported on Linux pool created with Virtual Machine Image or Shared Image Gallery Image.
    DisplayName string
    Specifies the display name of the Batch pool. Changing this forces a new resource to be created.
    Extensions []PoolExtensionArgs
    An extensions block as defined below.
    FixedScale PoolFixedScaleArgs
    A fixed_scale block that describes the scale settings when using fixed scale as defined below.
    Identity PoolIdentityArgs
    An identity block as defined below.
    InterNodeCommunication string
    Whether the pool permits direct communication between nodes. This imposes restrictions on which nodes can be assigned to the pool. Enabling this value can reduce the chance of the requested number of nodes to be allocated in the pool. Values allowed are Disabled and Enabled. Defaults to Enabled.
    LicenseType string
    The type of on-premises license to be used when deploying the operating system. This only applies to images that contain the Windows operating system, and should only be used when you hold valid on-premises licenses for the nodes which will be deployed. If omitted, no on-premises licensing discount is applied. Values are: "Windows_Server" - The on-premises license is for Windows Server. "Windows_Client" - The on-premises license is for Windows Client.
    MaxTasksPerNode int
    Specifies the maximum number of tasks that can run concurrently on a single compute node in the pool. Defaults to 1. Changing this forces a new resource to be created.
    Metadata map[string]string
    A map of custom batch pool metadata.
    Mounts []PoolMountArgs
    A mount block defined as below.
    Name string
    Specifies the name of the Batch pool. Changing this forces a new resource to be created.
    NetworkConfiguration PoolNetworkConfigurationArgs
    A network_configuration block that describes the network configurations for the Batch pool as defined below. Changing this forces a new resource to be created.
    NodePlacements []PoolNodePlacementArgs
    A node_placement block that describes the placement policy for allocating nodes in the pool as defined below.
    OsDiskPlacement string
    Specifies the ephemeral disk placement for operating system disk for all VMs in the pool. This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements. The only possible value is CacheDisk.
    StartTask PoolStartTaskArgs
    A start_task block that describes the start task settings for the Batch pool as defined below.
    StopPendingResizeOperation bool
    Whether to stop if there is a pending resize operation on this pool.
    TargetNodeCommunicationMode string
    The desired node communication mode for the pool. Possible values are Classic, Default and Simplified.
    TaskSchedulingPolicies []PoolTaskSchedulingPolicyArgs
    A task_scheduling_policy block that describes how tasks are distributed across compute nodes in a pool as defined below. If not specified, the default is spread as defined below.
    UserAccounts []PoolUserAccountArgs
    A user_accounts block that describes the list of user accounts to be created on each node in the pool as defined below.
    Windows []PoolWindowArgs

    A windows block that describes the Windows configuration in the pool as defined below.

    NOTE: For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of remoteUser, a certs directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.

    Please Note: fixed_scale and auto_scale blocks cannot be used both at the same time.

    accountName String
    Specifies the name of the Batch account in which the pool will be created. Changing this forces a new resource to be created.
    nodeAgentSkuId String
    Specifies the SKU of the node agents that will be created in the Batch pool. Changing this forces a new resource to be created.
    resourceGroupName String
    The name of the resource group in which to create the Batch pool. Changing this forces a new resource to be created.
    storageImageReference PoolStorageImageReference
    A storage_image_reference block for the virtual machines that will compose the Batch pool as defined below. Changing this forces a new resource to be created.
    vmSize String
    Specifies the size of the VM created in the Batch pool. Changing this forces a new resource to be created.
    autoScale PoolAutoScale
    A auto_scale block that describes the scale settings when using auto scale as defined below.
    certificates List<PoolCertificate>
    One or more certificate blocks that describe the certificates to be installed on each compute node in the pool as defined below.
    containerConfiguration PoolContainerConfiguration
    The container configuration used in the pool's VMs. One container_configuration block as defined below.
    dataDisks List<PoolDataDisk>
    A data_disks block describes the data disk settings as defined below.
    diskEncryptions List<PoolDiskEncryption>
    A disk_encryption block, as defined below, describes the disk encryption configuration applied on compute nodes in the pool. Disk encryption configuration is not supported on Linux pool created with Virtual Machine Image or Shared Image Gallery Image.
    displayName String
    Specifies the display name of the Batch pool. Changing this forces a new resource to be created.
    extensions List<PoolExtension>
    An extensions block as defined below.
    fixedScale PoolFixedScale
    A fixed_scale block that describes the scale settings when using fixed scale as defined below.
    identity PoolIdentity
    An identity block as defined below.
    interNodeCommunication String
    Whether the pool permits direct communication between nodes. This imposes restrictions on which nodes can be assigned to the pool. Enabling this value can reduce the chance of the requested number of nodes to be allocated in the pool. Values allowed are Disabled and Enabled. Defaults to Enabled.
    licenseType String
    The type of on-premises license to be used when deploying the operating system. This only applies to images that contain the Windows operating system, and should only be used when you hold valid on-premises licenses for the nodes which will be deployed. If omitted, no on-premises licensing discount is applied. Values are: "Windows_Server" - The on-premises license is for Windows Server. "Windows_Client" - The on-premises license is for Windows Client.
    maxTasksPerNode Integer
    Specifies the maximum number of tasks that can run concurrently on a single compute node in the pool. Defaults to 1. Changing this forces a new resource to be created.
    metadata Map<String,String>
    A map of custom batch pool metadata.
    mounts List<PoolMount>
    A mount block defined as below.
    name String
    Specifies the name of the Batch pool. Changing this forces a new resource to be created.
    networkConfiguration PoolNetworkConfiguration
    A network_configuration block that describes the network configurations for the Batch pool as defined below. Changing this forces a new resource to be created.
    nodePlacements List<PoolNodePlacement>
    A node_placement block that describes the placement policy for allocating nodes in the pool as defined below.
    osDiskPlacement String
    Specifies the ephemeral disk placement for operating system disk for all VMs in the pool. This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements. The only possible value is CacheDisk.
    startTask PoolStartTask
    A start_task block that describes the start task settings for the Batch pool as defined below.
    stopPendingResizeOperation Boolean
    Whether to stop if there is a pending resize operation on this pool.
    targetNodeCommunicationMode String
    The desired node communication mode for the pool. Possible values are Classic, Default and Simplified.
    taskSchedulingPolicies List<PoolTaskSchedulingPolicy>
    A task_scheduling_policy block that describes how tasks are distributed across compute nodes in a pool as defined below. If not specified, the default is spread as defined below.
    userAccounts List<PoolUserAccount>
    A user_accounts block that describes the list of user accounts to be created on each node in the pool as defined below.
    windows List<PoolWindow>

    A windows block that describes the Windows configuration in the pool as defined below.

    NOTE: For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of remoteUser, a certs directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.

    Please Note: fixed_scale and auto_scale blocks cannot be used both at the same time.

    accountName string
    Specifies the name of the Batch account in which the pool will be created. Changing this forces a new resource to be created.
    nodeAgentSkuId string
    Specifies the SKU of the node agents that will be created in the Batch pool. Changing this forces a new resource to be created.
    resourceGroupName string
    The name of the resource group in which to create the Batch pool. Changing this forces a new resource to be created.
    storageImageReference PoolStorageImageReference
    A storage_image_reference block for the virtual machines that will compose the Batch pool as defined below. Changing this forces a new resource to be created.
    vmSize string
    Specifies the size of the VM created in the Batch pool. Changing this forces a new resource to be created.
    autoScale PoolAutoScale
    A auto_scale block that describes the scale settings when using auto scale as defined below.
    certificates PoolCertificate[]
    One or more certificate blocks that describe the certificates to be installed on each compute node in the pool as defined below.
    containerConfiguration PoolContainerConfiguration
    The container configuration used in the pool's VMs. One container_configuration block as defined below.
    dataDisks PoolDataDisk[]
    A data_disks block describes the data disk settings as defined below.
    diskEncryptions PoolDiskEncryption[]
    A disk_encryption block, as defined below, describes the disk encryption configuration applied on compute nodes in the pool. Disk encryption configuration is not supported on Linux pool created with Virtual Machine Image or Shared Image Gallery Image.
    displayName string
    Specifies the display name of the Batch pool. Changing this forces a new resource to be created.
    extensions PoolExtension[]
    An extensions block as defined below.
    fixedScale PoolFixedScale
    A fixed_scale block that describes the scale settings when using fixed scale as defined below.
    identity PoolIdentity
    An identity block as defined below.
    interNodeCommunication string
    Whether the pool permits direct communication between nodes. This imposes restrictions on which nodes can be assigned to the pool. Enabling this value can reduce the chance of the requested number of nodes to be allocated in the pool. Values allowed are Disabled and Enabled. Defaults to Enabled.
    licenseType string
    The type of on-premises license to be used when deploying the operating system. This only applies to images that contain the Windows operating system, and should only be used when you hold valid on-premises licenses for the nodes which will be deployed. If omitted, no on-premises licensing discount is applied. Values are: "Windows_Server" - The on-premises license is for Windows Server. "Windows_Client" - The on-premises license is for Windows Client.
    maxTasksPerNode number
    Specifies the maximum number of tasks that can run concurrently on a single compute node in the pool. Defaults to 1. Changing this forces a new resource to be created.
    metadata {[key: string]: string}
    A map of custom batch pool metadata.
    mounts PoolMount[]
    A mount block defined as below.
    name string
    Specifies the name of the Batch pool. Changing this forces a new resource to be created.
    networkConfiguration PoolNetworkConfiguration
    A network_configuration block that describes the network configurations for the Batch pool as defined below. Changing this forces a new resource to be created.
    nodePlacements PoolNodePlacement[]
    A node_placement block that describes the placement policy for allocating nodes in the pool as defined below.
    osDiskPlacement string
    Specifies the ephemeral disk placement for operating system disk for all VMs in the pool. This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements. The only possible value is CacheDisk.
    startTask PoolStartTask
    A start_task block that describes the start task settings for the Batch pool as defined below.
    stopPendingResizeOperation boolean
    Whether to stop if there is a pending resize operation on this pool.
    targetNodeCommunicationMode string
    The desired node communication mode for the pool. Possible values are Classic, Default and Simplified.
    taskSchedulingPolicies PoolTaskSchedulingPolicy[]
    A task_scheduling_policy block that describes how tasks are distributed across compute nodes in a pool as defined below. If not specified, the default is spread as defined below.
    userAccounts PoolUserAccount[]
    A user_accounts block that describes the list of user accounts to be created on each node in the pool as defined below.
    windows PoolWindow[]

    A windows block that describes the Windows configuration in the pool as defined below.

    NOTE: For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of remoteUser, a certs directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.

    Please Note: fixed_scale and auto_scale blocks cannot be used both at the same time.

    account_name str
    Specifies the name of the Batch account in which the pool will be created. Changing this forces a new resource to be created.
    node_agent_sku_id str
    Specifies the SKU of the node agents that will be created in the Batch pool. Changing this forces a new resource to be created.
    resource_group_name str
    The name of the resource group in which to create the Batch pool. Changing this forces a new resource to be created.
    storage_image_reference PoolStorageImageReferenceArgs
    A storage_image_reference block for the virtual machines that will compose the Batch pool as defined below. Changing this forces a new resource to be created.
    vm_size str
    Specifies the size of the VM created in the Batch pool. Changing this forces a new resource to be created.
    auto_scale PoolAutoScaleArgs
    A auto_scale block that describes the scale settings when using auto scale as defined below.
    certificates Sequence[PoolCertificateArgs]
    One or more certificate blocks that describe the certificates to be installed on each compute node in the pool as defined below.
    container_configuration PoolContainerConfigurationArgs
    The container configuration used in the pool's VMs. One container_configuration block as defined below.
    data_disks Sequence[PoolDataDiskArgs]
    A data_disks block describes the data disk settings as defined below.
    disk_encryptions Sequence[PoolDiskEncryptionArgs]
    A disk_encryption block, as defined below, describes the disk encryption configuration applied on compute nodes in the pool. Disk encryption configuration is not supported on Linux pool created with Virtual Machine Image or Shared Image Gallery Image.
    display_name str
    Specifies the display name of the Batch pool. Changing this forces a new resource to be created.
    extensions Sequence[PoolExtensionArgs]
    An extensions block as defined below.
    fixed_scale PoolFixedScaleArgs
    A fixed_scale block that describes the scale settings when using fixed scale as defined below.
    identity PoolIdentityArgs
    An identity block as defined below.
    inter_node_communication str
    Whether the pool permits direct communication between nodes. This imposes restrictions on which nodes can be assigned to the pool. Enabling this value can reduce the chance of the requested number of nodes to be allocated in the pool. Values allowed are Disabled and Enabled. Defaults to Enabled.
    license_type str
    The type of on-premises license to be used when deploying the operating system. This only applies to images that contain the Windows operating system, and should only be used when you hold valid on-premises licenses for the nodes which will be deployed. If omitted, no on-premises licensing discount is applied. Values are: "Windows_Server" - The on-premises license is for Windows Server. "Windows_Client" - The on-premises license is for Windows Client.
    max_tasks_per_node int
    Specifies the maximum number of tasks that can run concurrently on a single compute node in the pool. Defaults to 1. Changing this forces a new resource to be created.
    metadata Mapping[str, str]
    A map of custom batch pool metadata.
    mounts Sequence[PoolMountArgs]
    A mount block defined as below.
    name str
    Specifies the name of the Batch pool. Changing this forces a new resource to be created.
    network_configuration PoolNetworkConfigurationArgs
    A network_configuration block that describes the network configurations for the Batch pool as defined below. Changing this forces a new resource to be created.
    node_placements Sequence[PoolNodePlacementArgs]
    A node_placement block that describes the placement policy for allocating nodes in the pool as defined below.
    os_disk_placement str
    Specifies the ephemeral disk placement for operating system disk for all VMs in the pool. This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements. The only possible value is CacheDisk.
    start_task PoolStartTaskArgs
    A start_task block that describes the start task settings for the Batch pool as defined below.
    stop_pending_resize_operation bool
    Whether to stop if there is a pending resize operation on this pool.
    target_node_communication_mode str
    The desired node communication mode for the pool. Possible values are Classic, Default and Simplified.
    task_scheduling_policies Sequence[PoolTaskSchedulingPolicyArgs]
    A task_scheduling_policy block that describes how tasks are distributed across compute nodes in a pool as defined below. If not specified, the default is spread as defined below.
    user_accounts Sequence[PoolUserAccountArgs]
    A user_accounts block that describes the list of user accounts to be created on each node in the pool as defined below.
    windows Sequence[PoolWindowArgs]

    A windows block that describes the Windows configuration in the pool as defined below.

    NOTE: For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of remoteUser, a certs directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.

    Please Note: fixed_scale and auto_scale blocks cannot be used both at the same time.

    accountName String
    Specifies the name of the Batch account in which the pool will be created. Changing this forces a new resource to be created.
    nodeAgentSkuId String
    Specifies the SKU of the node agents that will be created in the Batch pool. Changing this forces a new resource to be created.
    resourceGroupName String
    The name of the resource group in which to create the Batch pool. Changing this forces a new resource to be created.
    storageImageReference Property Map
    A storage_image_reference block for the virtual machines that will compose the Batch pool as defined below. Changing this forces a new resource to be created.
    vmSize String
    Specifies the size of the VM created in the Batch pool. Changing this forces a new resource to be created.
    autoScale Property Map
    A auto_scale block that describes the scale settings when using auto scale as defined below.
    certificates List<Property Map>
    One or more certificate blocks that describe the certificates to be installed on each compute node in the pool as defined below.
    containerConfiguration Property Map
    The container configuration used in the pool's VMs. One container_configuration block as defined below.
    dataDisks List<Property Map>
    A data_disks block describes the data disk settings as defined below.
    diskEncryptions List<Property Map>
    A disk_encryption block, as defined below, describes the disk encryption configuration applied on compute nodes in the pool. Disk encryption configuration is not supported on Linux pool created with Virtual Machine Image or Shared Image Gallery Image.
    displayName String
    Specifies the display name of the Batch pool. Changing this forces a new resource to be created.
    extensions List<Property Map>
    An extensions block as defined below.
    fixedScale Property Map
    A fixed_scale block that describes the scale settings when using fixed scale as defined below.
    identity Property Map
    An identity block as defined below.
    interNodeCommunication String
    Whether the pool permits direct communication between nodes. This imposes restrictions on which nodes can be assigned to the pool. Enabling this value can reduce the chance of the requested number of nodes to be allocated in the pool. Values allowed are Disabled and Enabled. Defaults to Enabled.
    licenseType String
    The type of on-premises license to be used when deploying the operating system. This only applies to images that contain the Windows operating system, and should only be used when you hold valid on-premises licenses for the nodes which will be deployed. If omitted, no on-premises licensing discount is applied. Values are: "Windows_Server" - The on-premises license is for Windows Server. "Windows_Client" - The on-premises license is for Windows Client.
    maxTasksPerNode Number
    Specifies the maximum number of tasks that can run concurrently on a single compute node in the pool. Defaults to 1. Changing this forces a new resource to be created.
    metadata Map<String>
    A map of custom batch pool metadata.
    mounts List<Property Map>
    A mount block defined as below.
    name String
    Specifies the name of the Batch pool. Changing this forces a new resource to be created.
    networkConfiguration Property Map
    A network_configuration block that describes the network configurations for the Batch pool as defined below. Changing this forces a new resource to be created.
    nodePlacements List<Property Map>
    A node_placement block that describes the placement policy for allocating nodes in the pool as defined below.
    osDiskPlacement String
    Specifies the ephemeral disk placement for operating system disk for all VMs in the pool. This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements. The only possible value is CacheDisk.
    startTask Property Map
    A start_task block that describes the start task settings for the Batch pool as defined below.
    stopPendingResizeOperation Boolean
    Whether to stop if there is a pending resize operation on this pool.
    targetNodeCommunicationMode String
    The desired node communication mode for the pool. Possible values are Classic, Default and Simplified.
    taskSchedulingPolicies List<Property Map>
    A task_scheduling_policy block that describes how tasks are distributed across compute nodes in a pool as defined below. If not specified, the default is spread as defined below.
    userAccounts List<Property Map>
    A user_accounts block that describes the list of user accounts to be created on each node in the pool as defined below.
    windows List<Property Map>

    A windows block that describes the Windows configuration in the pool as defined below.

    NOTE: For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of remoteUser, a certs directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.

    Please Note: fixed_scale and auto_scale blocks cannot be used both at the same time.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Pool resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing Pool Resource

    Get an existing Pool resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: PoolState, opts?: CustomResourceOptions): Pool
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            account_name: Optional[str] = None,
            auto_scale: Optional[PoolAutoScaleArgs] = None,
            certificates: Optional[Sequence[PoolCertificateArgs]] = None,
            container_configuration: Optional[PoolContainerConfigurationArgs] = None,
            data_disks: Optional[Sequence[PoolDataDiskArgs]] = None,
            disk_encryptions: Optional[Sequence[PoolDiskEncryptionArgs]] = None,
            display_name: Optional[str] = None,
            extensions: Optional[Sequence[PoolExtensionArgs]] = None,
            fixed_scale: Optional[PoolFixedScaleArgs] = None,
            identity: Optional[PoolIdentityArgs] = None,
            inter_node_communication: Optional[str] = None,
            license_type: Optional[str] = None,
            max_tasks_per_node: Optional[int] = None,
            metadata: Optional[Mapping[str, str]] = None,
            mounts: Optional[Sequence[PoolMountArgs]] = None,
            name: Optional[str] = None,
            network_configuration: Optional[PoolNetworkConfigurationArgs] = None,
            node_agent_sku_id: Optional[str] = None,
            node_placements: Optional[Sequence[PoolNodePlacementArgs]] = None,
            os_disk_placement: Optional[str] = None,
            resource_group_name: Optional[str] = None,
            start_task: Optional[PoolStartTaskArgs] = None,
            stop_pending_resize_operation: Optional[bool] = None,
            storage_image_reference: Optional[PoolStorageImageReferenceArgs] = None,
            target_node_communication_mode: Optional[str] = None,
            task_scheduling_policies: Optional[Sequence[PoolTaskSchedulingPolicyArgs]] = None,
            user_accounts: Optional[Sequence[PoolUserAccountArgs]] = None,
            vm_size: Optional[str] = None,
            windows: Optional[Sequence[PoolWindowArgs]] = None) -> Pool
    func GetPool(ctx *Context, name string, id IDInput, state *PoolState, opts ...ResourceOption) (*Pool, error)
    public static Pool Get(string name, Input<string> id, PoolState? state, CustomResourceOptions? opts = null)
    public static Pool get(String name, Output<String> id, PoolState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AccountName string
    Specifies the name of the Batch account in which the pool will be created. Changing this forces a new resource to be created.
    AutoScale PoolAutoScale
    A auto_scale block that describes the scale settings when using auto scale as defined below.
    Certificates List<PoolCertificate>
    One or more certificate blocks that describe the certificates to be installed on each compute node in the pool as defined below.
    ContainerConfiguration PoolContainerConfiguration
    The container configuration used in the pool's VMs. One container_configuration block as defined below.
    DataDisks List<PoolDataDisk>
    A data_disks block describes the data disk settings as defined below.
    DiskEncryptions List<PoolDiskEncryption>
    A disk_encryption block, as defined below, describes the disk encryption configuration applied on compute nodes in the pool. Disk encryption configuration is not supported on Linux pool created with Virtual Machine Image or Shared Image Gallery Image.
    DisplayName string
    Specifies the display name of the Batch pool. Changing this forces a new resource to be created.
    Extensions List<PoolExtension>
    An extensions block as defined below.
    FixedScale PoolFixedScale
    A fixed_scale block that describes the scale settings when using fixed scale as defined below.
    Identity PoolIdentity
    An identity block as defined below.
    InterNodeCommunication string
    Whether the pool permits direct communication between nodes. This imposes restrictions on which nodes can be assigned to the pool. Enabling this value can reduce the chance of the requested number of nodes to be allocated in the pool. Values allowed are Disabled and Enabled. Defaults to Enabled.
    LicenseType string
    The type of on-premises license to be used when deploying the operating system. This only applies to images that contain the Windows operating system, and should only be used when you hold valid on-premises licenses for the nodes which will be deployed. If omitted, no on-premises licensing discount is applied. Values are: "Windows_Server" - The on-premises license is for Windows Server. "Windows_Client" - The on-premises license is for Windows Client.
    MaxTasksPerNode int
    Specifies the maximum number of tasks that can run concurrently on a single compute node in the pool. Defaults to 1. Changing this forces a new resource to be created.
    Metadata Dictionary<string, string>
    A map of custom batch pool metadata.
    Mounts List<PoolMount>
    A mount block defined as below.
    Name string
    Specifies the name of the Batch pool. Changing this forces a new resource to be created.
    NetworkConfiguration PoolNetworkConfiguration
    A network_configuration block that describes the network configurations for the Batch pool as defined below. Changing this forces a new resource to be created.
    NodeAgentSkuId string
    Specifies the SKU of the node agents that will be created in the Batch pool. Changing this forces a new resource to be created.
    NodePlacements List<PoolNodePlacement>
    A node_placement block that describes the placement policy for allocating nodes in the pool as defined below.
    OsDiskPlacement string
    Specifies the ephemeral disk placement for operating system disk for all VMs in the pool. This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements. The only possible value is CacheDisk.
    ResourceGroupName string
    The name of the resource group in which to create the Batch pool. Changing this forces a new resource to be created.
    StartTask PoolStartTask
    A start_task block that describes the start task settings for the Batch pool as defined below.
    StopPendingResizeOperation bool
    Whether to stop if there is a pending resize operation on this pool.
    StorageImageReference PoolStorageImageReference
    A storage_image_reference block for the virtual machines that will compose the Batch pool as defined below. Changing this forces a new resource to be created.
    TargetNodeCommunicationMode string
    The desired node communication mode for the pool. Possible values are Classic, Default and Simplified.
    TaskSchedulingPolicies List<PoolTaskSchedulingPolicy>
    A task_scheduling_policy block that describes how tasks are distributed across compute nodes in a pool as defined below. If not specified, the default is spread as defined below.
    UserAccounts List<PoolUserAccount>
    A user_accounts block that describes the list of user accounts to be created on each node in the pool as defined below.
    VmSize string
    Specifies the size of the VM created in the Batch pool. Changing this forces a new resource to be created.
    Windows List<PoolWindow>

    A windows block that describes the Windows configuration in the pool as defined below.

    NOTE: For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of remoteUser, a certs directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.

    Please Note: fixed_scale and auto_scale blocks cannot be used both at the same time.

    AccountName string
    Specifies the name of the Batch account in which the pool will be created. Changing this forces a new resource to be created.
    AutoScale PoolAutoScaleArgs
    A auto_scale block that describes the scale settings when using auto scale as defined below.
    Certificates []PoolCertificateArgs
    One or more certificate blocks that describe the certificates to be installed on each compute node in the pool as defined below.
    ContainerConfiguration PoolContainerConfigurationArgs
    The container configuration used in the pool's VMs. One container_configuration block as defined below.
    DataDisks []PoolDataDiskArgs
    A data_disks block describes the data disk settings as defined below.
    DiskEncryptions []PoolDiskEncryptionArgs
    A disk_encryption block, as defined below, describes the disk encryption configuration applied on compute nodes in the pool. Disk encryption configuration is not supported on Linux pool created with Virtual Machine Image or Shared Image Gallery Image.
    DisplayName string
    Specifies the display name of the Batch pool. Changing this forces a new resource to be created.
    Extensions []PoolExtensionArgs
    An extensions block as defined below.
    FixedScale PoolFixedScaleArgs
    A fixed_scale block that describes the scale settings when using fixed scale as defined below.
    Identity PoolIdentityArgs
    An identity block as defined below.
    InterNodeCommunication string
    Whether the pool permits direct communication between nodes. This imposes restrictions on which nodes can be assigned to the pool. Enabling this value can reduce the chance of the requested number of nodes to be allocated in the pool. Values allowed are Disabled and Enabled. Defaults to Enabled.
    LicenseType string
    The type of on-premises license to be used when deploying the operating system. This only applies to images that contain the Windows operating system, and should only be used when you hold valid on-premises licenses for the nodes which will be deployed. If omitted, no on-premises licensing discount is applied. Values are: "Windows_Server" - The on-premises license is for Windows Server. "Windows_Client" - The on-premises license is for Windows Client.
    MaxTasksPerNode int
    Specifies the maximum number of tasks that can run concurrently on a single compute node in the pool. Defaults to 1. Changing this forces a new resource to be created.
    Metadata map[string]string
    A map of custom batch pool metadata.
    Mounts []PoolMountArgs
    A mount block defined as below.
    Name string
    Specifies the name of the Batch pool. Changing this forces a new resource to be created.
    NetworkConfiguration PoolNetworkConfigurationArgs
    A network_configuration block that describes the network configurations for the Batch pool as defined below. Changing this forces a new resource to be created.
    NodeAgentSkuId string
    Specifies the SKU of the node agents that will be created in the Batch pool. Changing this forces a new resource to be created.
    NodePlacements []PoolNodePlacementArgs
    A node_placement block that describes the placement policy for allocating nodes in the pool as defined below.
    OsDiskPlacement string
    Specifies the ephemeral disk placement for operating system disk for all VMs in the pool. This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements. The only possible value is CacheDisk.
    ResourceGroupName string
    The name of the resource group in which to create the Batch pool. Changing this forces a new resource to be created.
    StartTask PoolStartTaskArgs
    A start_task block that describes the start task settings for the Batch pool as defined below.
    StopPendingResizeOperation bool
    Whether to stop if there is a pending resize operation on this pool.
    StorageImageReference PoolStorageImageReferenceArgs
    A storage_image_reference block for the virtual machines that will compose the Batch pool as defined below. Changing this forces a new resource to be created.
    TargetNodeCommunicationMode string
    The desired node communication mode for the pool. Possible values are Classic, Default and Simplified.
    TaskSchedulingPolicies []PoolTaskSchedulingPolicyArgs
    A task_scheduling_policy block that describes how tasks are distributed across compute nodes in a pool as defined below. If not specified, the default is spread as defined below.
    UserAccounts []PoolUserAccountArgs
    A user_accounts block that describes the list of user accounts to be created on each node in the pool as defined below.
    VmSize string
    Specifies the size of the VM created in the Batch pool. Changing this forces a new resource to be created.
    Windows []PoolWindowArgs

    A windows block that describes the Windows configuration in the pool as defined below.

    NOTE: For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of remoteUser, a certs directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.

    Please Note: fixed_scale and auto_scale blocks cannot be used both at the same time.

    accountName String
    Specifies the name of the Batch account in which the pool will be created. Changing this forces a new resource to be created.
    autoScale PoolAutoScale
    A auto_scale block that describes the scale settings when using auto scale as defined below.
    certificates List<PoolCertificate>
    One or more certificate blocks that describe the certificates to be installed on each compute node in the pool as defined below.
    containerConfiguration PoolContainerConfiguration
    The container configuration used in the pool's VMs. One container_configuration block as defined below.
    dataDisks List<PoolDataDisk>
    A data_disks block describes the data disk settings as defined below.
    diskEncryptions List<PoolDiskEncryption>
    A disk_encryption block, as defined below, describes the disk encryption configuration applied on compute nodes in the pool. Disk encryption configuration is not supported on Linux pool created with Virtual Machine Image or Shared Image Gallery Image.
    displayName String
    Specifies the display name of the Batch pool. Changing this forces a new resource to be created.
    extensions List<PoolExtension>
    An extensions block as defined below.
    fixedScale PoolFixedScale
    A fixed_scale block that describes the scale settings when using fixed scale as defined below.
    identity PoolIdentity
    An identity block as defined below.
    interNodeCommunication String
    Whether the pool permits direct communication between nodes. This imposes restrictions on which nodes can be assigned to the pool. Enabling this value can reduce the chance of the requested number of nodes to be allocated in the pool. Values allowed are Disabled and Enabled. Defaults to Enabled.
    licenseType String
    The type of on-premises license to be used when deploying the operating system. This only applies to images that contain the Windows operating system, and should only be used when you hold valid on-premises licenses for the nodes which will be deployed. If omitted, no on-premises licensing discount is applied. Values are: "Windows_Server" - The on-premises license is for Windows Server. "Windows_Client" - The on-premises license is for Windows Client.
    maxTasksPerNode Integer
    Specifies the maximum number of tasks that can run concurrently on a single compute node in the pool. Defaults to 1. Changing this forces a new resource to be created.
    metadata Map<String,String>
    A map of custom batch pool metadata.
    mounts List<PoolMount>
    A mount block defined as below.
    name String
    Specifies the name of the Batch pool. Changing this forces a new resource to be created.
    networkConfiguration PoolNetworkConfiguration
    A network_configuration block that describes the network configurations for the Batch pool as defined below. Changing this forces a new resource to be created.
    nodeAgentSkuId String
    Specifies the SKU of the node agents that will be created in the Batch pool. Changing this forces a new resource to be created.
    nodePlacements List<PoolNodePlacement>
    A node_placement block that describes the placement policy for allocating nodes in the pool as defined below.
    osDiskPlacement String
    Specifies the ephemeral disk placement for operating system disk for all VMs in the pool. This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements. The only possible value is CacheDisk.
    resourceGroupName String
    The name of the resource group in which to create the Batch pool. Changing this forces a new resource to be created.
    startTask PoolStartTask
    A start_task block that describes the start task settings for the Batch pool as defined below.
    stopPendingResizeOperation Boolean
    Whether to stop if there is a pending resize operation on this pool.
    storageImageReference PoolStorageImageReference
    A storage_image_reference block for the virtual machines that will compose the Batch pool as defined below. Changing this forces a new resource to be created.
    targetNodeCommunicationMode String
    The desired node communication mode for the pool. Possible values are Classic, Default and Simplified.
    taskSchedulingPolicies List<PoolTaskSchedulingPolicy>
    A task_scheduling_policy block that describes how tasks are distributed across compute nodes in a pool as defined below. If not specified, the default is spread as defined below.
    userAccounts List<PoolUserAccount>
    A user_accounts block that describes the list of user accounts to be created on each node in the pool as defined below.
    vmSize String
    Specifies the size of the VM created in the Batch pool. Changing this forces a new resource to be created.
    windows List<PoolWindow>

    A windows block that describes the Windows configuration in the pool as defined below.

    NOTE: For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of remoteUser, a certs directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.

    Please Note: fixed_scale and auto_scale blocks cannot be used both at the same time.

    accountName string
    Specifies the name of the Batch account in which the pool will be created. Changing this forces a new resource to be created.
    autoScale PoolAutoScale
    A auto_scale block that describes the scale settings when using auto scale as defined below.
    certificates PoolCertificate[]
    One or more certificate blocks that describe the certificates to be installed on each compute node in the pool as defined below.
    containerConfiguration PoolContainerConfiguration
    The container configuration used in the pool's VMs. One container_configuration block as defined below.
    dataDisks PoolDataDisk[]
    A data_disks block describes the data disk settings as defined below.
    diskEncryptions PoolDiskEncryption[]
    A disk_encryption block, as defined below, describes the disk encryption configuration applied on compute nodes in the pool. Disk encryption configuration is not supported on Linux pool created with Virtual Machine Image or Shared Image Gallery Image.
    displayName string
    Specifies the display name of the Batch pool. Changing this forces a new resource to be created.
    extensions PoolExtension[]
    An extensions block as defined below.
    fixedScale PoolFixedScale
    A fixed_scale block that describes the scale settings when using fixed scale as defined below.
    identity PoolIdentity
    An identity block as defined below.
    interNodeCommunication string
    Whether the pool permits direct communication between nodes. This imposes restrictions on which nodes can be assigned to the pool. Enabling this value can reduce the chance of the requested number of nodes to be allocated in the pool. Values allowed are Disabled and Enabled. Defaults to Enabled.
    licenseType string
    The type of on-premises license to be used when deploying the operating system. This only applies to images that contain the Windows operating system, and should only be used when you hold valid on-premises licenses for the nodes which will be deployed. If omitted, no on-premises licensing discount is applied. Values are: "Windows_Server" - The on-premises license is for Windows Server. "Windows_Client" - The on-premises license is for Windows Client.
    maxTasksPerNode number
    Specifies the maximum number of tasks that can run concurrently on a single compute node in the pool. Defaults to 1. Changing this forces a new resource to be created.
    metadata {[key: string]: string}
    A map of custom batch pool metadata.
    mounts PoolMount[]
    A mount block defined as below.
    name string
    Specifies the name of the Batch pool. Changing this forces a new resource to be created.
    networkConfiguration PoolNetworkConfiguration
    A network_configuration block that describes the network configurations for the Batch pool as defined below. Changing this forces a new resource to be created.
    nodeAgentSkuId string
    Specifies the SKU of the node agents that will be created in the Batch pool. Changing this forces a new resource to be created.
    nodePlacements PoolNodePlacement[]
    A node_placement block that describes the placement policy for allocating nodes in the pool as defined below.
    osDiskPlacement string
    Specifies the ephemeral disk placement for operating system disk for all VMs in the pool. This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements. The only possible value is CacheDisk.
    resourceGroupName string
    The name of the resource group in which to create the Batch pool. Changing this forces a new resource to be created.
    startTask PoolStartTask
    A start_task block that describes the start task settings for the Batch pool as defined below.
    stopPendingResizeOperation boolean
    Whether to stop if there is a pending resize operation on this pool.
    storageImageReference PoolStorageImageReference
    A storage_image_reference block for the virtual machines that will compose the Batch pool as defined below. Changing this forces a new resource to be created.
    targetNodeCommunicationMode string
    The desired node communication mode for the pool. Possible values are Classic, Default and Simplified.
    taskSchedulingPolicies PoolTaskSchedulingPolicy[]
    A task_scheduling_policy block that describes how tasks are distributed across compute nodes in a pool as defined below. If not specified, the default is spread as defined below.
    userAccounts PoolUserAccount[]
    A user_accounts block that describes the list of user accounts to be created on each node in the pool as defined below.
    vmSize string
    Specifies the size of the VM created in the Batch pool. Changing this forces a new resource to be created.
    windows PoolWindow[]

    A windows block that describes the Windows configuration in the pool as defined below.

    NOTE: For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of remoteUser, a certs directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.

    Please Note: fixed_scale and auto_scale blocks cannot be used both at the same time.

    account_name str
    Specifies the name of the Batch account in which the pool will be created. Changing this forces a new resource to be created.
    auto_scale PoolAutoScaleArgs
    A auto_scale block that describes the scale settings when using auto scale as defined below.
    certificates Sequence[PoolCertificateArgs]
    One or more certificate blocks that describe the certificates to be installed on each compute node in the pool as defined below.
    container_configuration PoolContainerConfigurationArgs
    The container configuration used in the pool's VMs. One container_configuration block as defined below.
    data_disks Sequence[PoolDataDiskArgs]
    A data_disks block describes the data disk settings as defined below.
    disk_encryptions Sequence[PoolDiskEncryptionArgs]
    A disk_encryption block, as defined below, describes the disk encryption configuration applied on compute nodes in the pool. Disk encryption configuration is not supported on Linux pool created with Virtual Machine Image or Shared Image Gallery Image.
    display_name str
    Specifies the display name of the Batch pool. Changing this forces a new resource to be created.
    extensions Sequence[PoolExtensionArgs]
    An extensions block as defined below.
    fixed_scale PoolFixedScaleArgs
    A fixed_scale block that describes the scale settings when using fixed scale as defined below.
    identity PoolIdentityArgs
    An identity block as defined below.
    inter_node_communication str
    Whether the pool permits direct communication between nodes. This imposes restrictions on which nodes can be assigned to the pool. Enabling this value can reduce the chance of the requested number of nodes to be allocated in the pool. Values allowed are Disabled and Enabled. Defaults to Enabled.
    license_type str
    The type of on-premises license to be used when deploying the operating system. This only applies to images that contain the Windows operating system, and should only be used when you hold valid on-premises licenses for the nodes which will be deployed. If omitted, no on-premises licensing discount is applied. Values are: "Windows_Server" - The on-premises license is for Windows Server. "Windows_Client" - The on-premises license is for Windows Client.
    max_tasks_per_node int
    Specifies the maximum number of tasks that can run concurrently on a single compute node in the pool. Defaults to 1. Changing this forces a new resource to be created.
    metadata Mapping[str, str]
    A map of custom batch pool metadata.
    mounts Sequence[PoolMountArgs]
    A mount block defined as below.
    name str
    Specifies the name of the Batch pool. Changing this forces a new resource to be created.
    network_configuration PoolNetworkConfigurationArgs
    A network_configuration block that describes the network configurations for the Batch pool as defined below. Changing this forces a new resource to be created.
    node_agent_sku_id str
    Specifies the SKU of the node agents that will be created in the Batch pool. Changing this forces a new resource to be created.
    node_placements Sequence[PoolNodePlacementArgs]
    A node_placement block that describes the placement policy for allocating nodes in the pool as defined below.
    os_disk_placement str
    Specifies the ephemeral disk placement for operating system disk for all VMs in the pool. This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements. The only possible value is CacheDisk.
    resource_group_name str
    The name of the resource group in which to create the Batch pool. Changing this forces a new resource to be created.
    start_task PoolStartTaskArgs
    A start_task block that describes the start task settings for the Batch pool as defined below.
    stop_pending_resize_operation bool
    Whether to stop if there is a pending resize operation on this pool.
    storage_image_reference PoolStorageImageReferenceArgs
    A storage_image_reference block for the virtual machines that will compose the Batch pool as defined below. Changing this forces a new resource to be created.
    target_node_communication_mode str
    The desired node communication mode for the pool. Possible values are Classic, Default and Simplified.
    task_scheduling_policies Sequence[PoolTaskSchedulingPolicyArgs]
    A task_scheduling_policy block that describes how tasks are distributed across compute nodes in a pool as defined below. If not specified, the default is spread as defined below.
    user_accounts Sequence[PoolUserAccountArgs]
    A user_accounts block that describes the list of user accounts to be created on each node in the pool as defined below.
    vm_size str
    Specifies the size of the VM created in the Batch pool. Changing this forces a new resource to be created.
    windows Sequence[PoolWindowArgs]

    A windows block that describes the Windows configuration in the pool as defined below.

    NOTE: For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of remoteUser, a certs directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.

    Please Note: fixed_scale and auto_scale blocks cannot be used both at the same time.

    accountName String
    Specifies the name of the Batch account in which the pool will be created. Changing this forces a new resource to be created.
    autoScale Property Map
    A auto_scale block that describes the scale settings when using auto scale as defined below.
    certificates List<Property Map>
    One or more certificate blocks that describe the certificates to be installed on each compute node in the pool as defined below.
    containerConfiguration Property Map
    The container configuration used in the pool's VMs. One container_configuration block as defined below.
    dataDisks List<Property Map>
    A data_disks block describes the data disk settings as defined below.
    diskEncryptions List<Property Map>
    A disk_encryption block, as defined below, describes the disk encryption configuration applied on compute nodes in the pool. Disk encryption configuration is not supported on Linux pool created with Virtual Machine Image or Shared Image Gallery Image.
    displayName String
    Specifies the display name of the Batch pool. Changing this forces a new resource to be created.
    extensions List<Property Map>
    An extensions block as defined below.
    fixedScale Property Map
    A fixed_scale block that describes the scale settings when using fixed scale as defined below.
    identity Property Map
    An identity block as defined below.
    interNodeCommunication String
    Whether the pool permits direct communication between nodes. This imposes restrictions on which nodes can be assigned to the pool. Enabling this value can reduce the chance of the requested number of nodes to be allocated in the pool. Values allowed are Disabled and Enabled. Defaults to Enabled.
    licenseType String
    The type of on-premises license to be used when deploying the operating system. This only applies to images that contain the Windows operating system, and should only be used when you hold valid on-premises licenses for the nodes which will be deployed. If omitted, no on-premises licensing discount is applied. Values are: "Windows_Server" - The on-premises license is for Windows Server. "Windows_Client" - The on-premises license is for Windows Client.
    maxTasksPerNode Number
    Specifies the maximum number of tasks that can run concurrently on a single compute node in the pool. Defaults to 1. Changing this forces a new resource to be created.
    metadata Map<String>
    A map of custom batch pool metadata.
    mounts List<Property Map>
    A mount block defined as below.
    name String
    Specifies the name of the Batch pool. Changing this forces a new resource to be created.
    networkConfiguration Property Map
    A network_configuration block that describes the network configurations for the Batch pool as defined below. Changing this forces a new resource to be created.
    nodeAgentSkuId String
    Specifies the SKU of the node agents that will be created in the Batch pool. Changing this forces a new resource to be created.
    nodePlacements List<Property Map>
    A node_placement block that describes the placement policy for allocating nodes in the pool as defined below.
    osDiskPlacement String
    Specifies the ephemeral disk placement for operating system disk for all VMs in the pool. This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements. The only possible value is CacheDisk.
    resourceGroupName String
    The name of the resource group in which to create the Batch pool. Changing this forces a new resource to be created.
    startTask Property Map
    A start_task block that describes the start task settings for the Batch pool as defined below.
    stopPendingResizeOperation Boolean
    Whether to stop if there is a pending resize operation on this pool.
    storageImageReference Property Map
    A storage_image_reference block for the virtual machines that will compose the Batch pool as defined below. Changing this forces a new resource to be created.
    targetNodeCommunicationMode String
    The desired node communication mode for the pool. Possible values are Classic, Default and Simplified.
    taskSchedulingPolicies List<Property Map>
    A task_scheduling_policy block that describes how tasks are distributed across compute nodes in a pool as defined below. If not specified, the default is spread as defined below.
    userAccounts List<Property Map>
    A user_accounts block that describes the list of user accounts to be created on each node in the pool as defined below.
    vmSize String
    Specifies the size of the VM created in the Batch pool. Changing this forces a new resource to be created.
    windows List<Property Map>

    A windows block that describes the Windows configuration in the pool as defined below.

    NOTE: For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of remoteUser, a certs directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.

    Please Note: fixed_scale and auto_scale blocks cannot be used both at the same time.

    Supporting Types

    PoolAutoScale, PoolAutoScaleArgs

    Formula string
    The autoscale formula that needs to be used for scaling the Batch pool.
    EvaluationInterval string
    The interval to wait before evaluating if the pool needs to be scaled. Defaults to PT15M.
    Formula string
    The autoscale formula that needs to be used for scaling the Batch pool.
    EvaluationInterval string
    The interval to wait before evaluating if the pool needs to be scaled. Defaults to PT15M.
    formula String
    The autoscale formula that needs to be used for scaling the Batch pool.
    evaluationInterval String
    The interval to wait before evaluating if the pool needs to be scaled. Defaults to PT15M.
    formula string
    The autoscale formula that needs to be used for scaling the Batch pool.
    evaluationInterval string
    The interval to wait before evaluating if the pool needs to be scaled. Defaults to PT15M.
    formula str
    The autoscale formula that needs to be used for scaling the Batch pool.
    evaluation_interval str
    The interval to wait before evaluating if the pool needs to be scaled. Defaults to PT15M.
    formula String
    The autoscale formula that needs to be used for scaling the Batch pool.
    evaluationInterval String
    The interval to wait before evaluating if the pool needs to be scaled. Defaults to PT15M.

    PoolCertificate, PoolCertificateArgs

    Id string
    The ID of the Batch Certificate to install on the Batch Pool, which must be inside the same Batch Account.
    StoreLocation string

    The location of the certificate store on the compute node into which to install the certificate. Possible values are CurrentUser or LocalMachine.

    NOTE: This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of remoteUser, a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.

    StoreName string
    The name of the certificate store on the compute node into which to install the certificate. This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). Common store names include: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, but any custom store name can also be used.
    Visibilities List<string>
    Which user accounts on the compute node should have access to the private data of the certificate. Possible values are StartTask, Task and RemoteUser.
    Id string
    The ID of the Batch Certificate to install on the Batch Pool, which must be inside the same Batch Account.
    StoreLocation string

    The location of the certificate store on the compute node into which to install the certificate. Possible values are CurrentUser or LocalMachine.

    NOTE: This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of remoteUser, a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.

    StoreName string
    The name of the certificate store on the compute node into which to install the certificate. This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). Common store names include: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, but any custom store name can also be used.
    Visibilities []string
    Which user accounts on the compute node should have access to the private data of the certificate. Possible values are StartTask, Task and RemoteUser.
    id String
    The ID of the Batch Certificate to install on the Batch Pool, which must be inside the same Batch Account.
    storeLocation String

    The location of the certificate store on the compute node into which to install the certificate. Possible values are CurrentUser or LocalMachine.

    NOTE: This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of remoteUser, a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.

    storeName String
    The name of the certificate store on the compute node into which to install the certificate. This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). Common store names include: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, but any custom store name can also be used.
    visibilities List<String>
    Which user accounts on the compute node should have access to the private data of the certificate. Possible values are StartTask, Task and RemoteUser.
    id string
    The ID of the Batch Certificate to install on the Batch Pool, which must be inside the same Batch Account.
    storeLocation string

    The location of the certificate store on the compute node into which to install the certificate. Possible values are CurrentUser or LocalMachine.

    NOTE: This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of remoteUser, a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.

    storeName string
    The name of the certificate store on the compute node into which to install the certificate. This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). Common store names include: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, but any custom store name can also be used.
    visibilities string[]
    Which user accounts on the compute node should have access to the private data of the certificate. Possible values are StartTask, Task and RemoteUser.
    id str
    The ID of the Batch Certificate to install on the Batch Pool, which must be inside the same Batch Account.
    store_location str

    The location of the certificate store on the compute node into which to install the certificate. Possible values are CurrentUser or LocalMachine.

    NOTE: This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of remoteUser, a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.

    store_name str
    The name of the certificate store on the compute node into which to install the certificate. This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). Common store names include: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, but any custom store name can also be used.
    visibilities Sequence[str]
    Which user accounts on the compute node should have access to the private data of the certificate. Possible values are StartTask, Task and RemoteUser.
    id String
    The ID of the Batch Certificate to install on the Batch Pool, which must be inside the same Batch Account.
    storeLocation String

    The location of the certificate store on the compute node into which to install the certificate. Possible values are CurrentUser or LocalMachine.

    NOTE: This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of remoteUser, a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.

    storeName String
    The name of the certificate store on the compute node into which to install the certificate. This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). Common store names include: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, but any custom store name can also be used.
    visibilities List<String>
    Which user accounts on the compute node should have access to the private data of the certificate. Possible values are StartTask, Task and RemoteUser.

    PoolContainerConfiguration, PoolContainerConfigurationArgs

    ContainerImageNames List<string>
    A list of container image names to use, as would be specified by docker pull. Changing this forces a new resource to be created.
    ContainerRegistries List<PoolContainerConfigurationContainerRegistry>
    One or more container_registries blocks as defined below. Additional container registries from which container images can be pulled by the pool's VMs. Changing this forces a new resource to be created.
    Type string
    The type of container configuration. Possible value is DockerCompatible.
    ContainerImageNames []string
    A list of container image names to use, as would be specified by docker pull. Changing this forces a new resource to be created.
    ContainerRegistries []PoolContainerConfigurationContainerRegistry
    One or more container_registries blocks as defined below. Additional container registries from which container images can be pulled by the pool's VMs. Changing this forces a new resource to be created.
    Type string
    The type of container configuration. Possible value is DockerCompatible.
    containerImageNames List<String>
    A list of container image names to use, as would be specified by docker pull. Changing this forces a new resource to be created.
    containerRegistries List<PoolContainerConfigurationContainerRegistry>
    One or more container_registries blocks as defined below. Additional container registries from which container images can be pulled by the pool's VMs. Changing this forces a new resource to be created.
    type String
    The type of container configuration. Possible value is DockerCompatible.
    containerImageNames string[]
    A list of container image names to use, as would be specified by docker pull. Changing this forces a new resource to be created.
    containerRegistries PoolContainerConfigurationContainerRegistry[]
    One or more container_registries blocks as defined below. Additional container registries from which container images can be pulled by the pool's VMs. Changing this forces a new resource to be created.
    type string
    The type of container configuration. Possible value is DockerCompatible.
    container_image_names Sequence[str]
    A list of container image names to use, as would be specified by docker pull. Changing this forces a new resource to be created.
    container_registries Sequence[PoolContainerConfigurationContainerRegistry]
    One or more container_registries blocks as defined below. Additional container registries from which container images can be pulled by the pool's VMs. Changing this forces a new resource to be created.
    type str
    The type of container configuration. Possible value is DockerCompatible.
    containerImageNames List<String>
    A list of container image names to use, as would be specified by docker pull. Changing this forces a new resource to be created.
    containerRegistries List<Property Map>
    One or more container_registries blocks as defined below. Additional container registries from which container images can be pulled by the pool's VMs. Changing this forces a new resource to be created.
    type String
    The type of container configuration. Possible value is DockerCompatible.

    PoolContainerConfigurationContainerRegistry, PoolContainerConfigurationContainerRegistryArgs

    RegistryServer string
    The container registry URL. Changing this forces a new resource to be created.
    Password string
    The password to log into the registry server. Changing this forces a new resource to be created.
    UserAssignedIdentityId string
    The reference to the user assigned identity to use to access an Azure Container Registry instead of username and password. Changing this forces a new resource to be created.
    UserName string
    The user name to log into the registry server. Changing this forces a new resource to be created.
    RegistryServer string
    The container registry URL. Changing this forces a new resource to be created.
    Password string
    The password to log into the registry server. Changing this forces a new resource to be created.
    UserAssignedIdentityId string
    The reference to the user assigned identity to use to access an Azure Container Registry instead of username and password. Changing this forces a new resource to be created.
    UserName string
    The user name to log into the registry server. Changing this forces a new resource to be created.
    registryServer String
    The container registry URL. Changing this forces a new resource to be created.
    password String
    The password to log into the registry server. Changing this forces a new resource to be created.
    userAssignedIdentityId String
    The reference to the user assigned identity to use to access an Azure Container Registry instead of username and password. Changing this forces a new resource to be created.
    userName String
    The user name to log into the registry server. Changing this forces a new resource to be created.
    registryServer string
    The container registry URL. Changing this forces a new resource to be created.
    password string
    The password to log into the registry server. Changing this forces a new resource to be created.
    userAssignedIdentityId string
    The reference to the user assigned identity to use to access an Azure Container Registry instead of username and password. Changing this forces a new resource to be created.
    userName string
    The user name to log into the registry server. Changing this forces a new resource to be created.
    registry_server str
    The container registry URL. Changing this forces a new resource to be created.
    password str
    The password to log into the registry server. Changing this forces a new resource to be created.
    user_assigned_identity_id str
    The reference to the user assigned identity to use to access an Azure Container Registry instead of username and password. Changing this forces a new resource to be created.
    user_name str
    The user name to log into the registry server. Changing this forces a new resource to be created.
    registryServer String
    The container registry URL. Changing this forces a new resource to be created.
    password String
    The password to log into the registry server. Changing this forces a new resource to be created.
    userAssignedIdentityId String
    The reference to the user assigned identity to use to access an Azure Container Registry instead of username and password. Changing this forces a new resource to be created.
    userName String
    The user name to log into the registry server. Changing this forces a new resource to be created.

    PoolDataDisk, PoolDataDiskArgs

    DiskSizeGb int
    The initial disk size in GB when creating new data disk.
    Lun int
    The lun is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct lun. The value must be between 0 and 63, inclusive.
    Caching string
    Values are: "none" - The caching mode for the disk is not enabled. "readOnly" - The caching mode for the disk is read only. "readWrite" - The caching mode for the disk is read and write. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. Possible values are None, ReadOnly and ReadWrite. Defaults to ReadOnly.
    StorageAccountType string
    The storage account type to be used for the data disk. Values are: Possible values are Standard_LRS - The data disk should use standard locally redundant storage. Premium_LRS - The data disk should use premium locally redundant storage. Defaults to Standard_LRS.
    DiskSizeGb int
    The initial disk size in GB when creating new data disk.
    Lun int
    The lun is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct lun. The value must be between 0 and 63, inclusive.
    Caching string
    Values are: "none" - The caching mode for the disk is not enabled. "readOnly" - The caching mode for the disk is read only. "readWrite" - The caching mode for the disk is read and write. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. Possible values are None, ReadOnly and ReadWrite. Defaults to ReadOnly.
    StorageAccountType string
    The storage account type to be used for the data disk. Values are: Possible values are Standard_LRS - The data disk should use standard locally redundant storage. Premium_LRS - The data disk should use premium locally redundant storage. Defaults to Standard_LRS.
    diskSizeGb Integer
    The initial disk size in GB when creating new data disk.
    lun Integer
    The lun is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct lun. The value must be between 0 and 63, inclusive.
    caching String
    Values are: "none" - The caching mode for the disk is not enabled. "readOnly" - The caching mode for the disk is read only. "readWrite" - The caching mode for the disk is read and write. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. Possible values are None, ReadOnly and ReadWrite. Defaults to ReadOnly.
    storageAccountType String
    The storage account type to be used for the data disk. Values are: Possible values are Standard_LRS - The data disk should use standard locally redundant storage. Premium_LRS - The data disk should use premium locally redundant storage. Defaults to Standard_LRS.
    diskSizeGb number
    The initial disk size in GB when creating new data disk.
    lun number
    The lun is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct lun. The value must be between 0 and 63, inclusive.
    caching string
    Values are: "none" - The caching mode for the disk is not enabled. "readOnly" - The caching mode for the disk is read only. "readWrite" - The caching mode for the disk is read and write. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. Possible values are None, ReadOnly and ReadWrite. Defaults to ReadOnly.
    storageAccountType string
    The storage account type to be used for the data disk. Values are: Possible values are Standard_LRS - The data disk should use standard locally redundant storage. Premium_LRS - The data disk should use premium locally redundant storage. Defaults to Standard_LRS.
    disk_size_gb int
    The initial disk size in GB when creating new data disk.
    lun int
    The lun is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct lun. The value must be between 0 and 63, inclusive.
    caching str
    Values are: "none" - The caching mode for the disk is not enabled. "readOnly" - The caching mode for the disk is read only. "readWrite" - The caching mode for the disk is read and write. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. Possible values are None, ReadOnly and ReadWrite. Defaults to ReadOnly.
    storage_account_type str
    The storage account type to be used for the data disk. Values are: Possible values are Standard_LRS - The data disk should use standard locally redundant storage. Premium_LRS - The data disk should use premium locally redundant storage. Defaults to Standard_LRS.
    diskSizeGb Number
    The initial disk size in GB when creating new data disk.
    lun Number
    The lun is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct lun. The value must be between 0 and 63, inclusive.
    caching String
    Values are: "none" - The caching mode for the disk is not enabled. "readOnly" - The caching mode for the disk is read only. "readWrite" - The caching mode for the disk is read and write. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. Possible values are None, ReadOnly and ReadWrite. Defaults to ReadOnly.
    storageAccountType String
    The storage account type to be used for the data disk. Values are: Possible values are Standard_LRS - The data disk should use standard locally redundant storage. Premium_LRS - The data disk should use premium locally redundant storage. Defaults to Standard_LRS.

    PoolDiskEncryption, PoolDiskEncryptionArgs

    DiskEncryptionTarget string
    On Linux pool, only "TemporaryDisk" is supported; on Windows pool, "OsDisk" and "TemporaryDisk" must be specified.
    DiskEncryptionTarget string
    On Linux pool, only "TemporaryDisk" is supported; on Windows pool, "OsDisk" and "TemporaryDisk" must be specified.
    diskEncryptionTarget String
    On Linux pool, only "TemporaryDisk" is supported; on Windows pool, "OsDisk" and "TemporaryDisk" must be specified.
    diskEncryptionTarget string
    On Linux pool, only "TemporaryDisk" is supported; on Windows pool, "OsDisk" and "TemporaryDisk" must be specified.
    disk_encryption_target str
    On Linux pool, only "TemporaryDisk" is supported; on Windows pool, "OsDisk" and "TemporaryDisk" must be specified.
    diskEncryptionTarget String
    On Linux pool, only "TemporaryDisk" is supported; on Windows pool, "OsDisk" and "TemporaryDisk" must be specified.

    PoolExtension, PoolExtensionArgs

    Name string
    The name of the virtual machine extension.
    Publisher string
    The name of the extension handler publisher.The name of the extension handler publisher.
    Type string
    The type of the extensions.
    AutoUpgradeMinorVersion bool
    Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.
    AutomaticUpgradeEnabled bool

    Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. Supported values are true and false.

    NOTE: When automatic_upgrade_enabled is set to true, the type_handler_version is automatically updated by the Azure platform when a new version is available and any change in type_handler_version should be manually ignored by user.

    ProtectedSettings string
    JSON formatted protected settings for the extension, the value should be encoded with jsonencode function. The extension can contain either protected_settings or provision_after_extensions or no protected settings at all.
    ProvisionAfterExtensions List<string>
    The collection of extension names. Collection of extension names after which this extension needs to be provisioned.
    SettingsJson string
    JSON formatted public settings for the extension, the value should be encoded with jsonencode function.
    TypeHandlerVersion string
    The version of script handler.
    Name string
    The name of the virtual machine extension.
    Publisher string
    The name of the extension handler publisher.The name of the extension handler publisher.
    Type string
    The type of the extensions.
    AutoUpgradeMinorVersion bool
    Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.
    AutomaticUpgradeEnabled bool

    Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. Supported values are true and false.

    NOTE: When automatic_upgrade_enabled is set to true, the type_handler_version is automatically updated by the Azure platform when a new version is available and any change in type_handler_version should be manually ignored by user.

    ProtectedSettings string
    JSON formatted protected settings for the extension, the value should be encoded with jsonencode function. The extension can contain either protected_settings or provision_after_extensions or no protected settings at all.
    ProvisionAfterExtensions []string
    The collection of extension names. Collection of extension names after which this extension needs to be provisioned.
    SettingsJson string
    JSON formatted public settings for the extension, the value should be encoded with jsonencode function.
    TypeHandlerVersion string
    The version of script handler.
    name String
    The name of the virtual machine extension.
    publisher String
    The name of the extension handler publisher.The name of the extension handler publisher.
    type String
    The type of the extensions.
    autoUpgradeMinorVersion Boolean
    Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.
    automaticUpgradeEnabled Boolean

    Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. Supported values are true and false.

    NOTE: When automatic_upgrade_enabled is set to true, the type_handler_version is automatically updated by the Azure platform when a new version is available and any change in type_handler_version should be manually ignored by user.

    protectedSettings String
    JSON formatted protected settings for the extension, the value should be encoded with jsonencode function. The extension can contain either protected_settings or provision_after_extensions or no protected settings at all.
    provisionAfterExtensions List<String>
    The collection of extension names. Collection of extension names after which this extension needs to be provisioned.
    settingsJson String
    JSON formatted public settings for the extension, the value should be encoded with jsonencode function.
    typeHandlerVersion String
    The version of script handler.
    name string
    The name of the virtual machine extension.
    publisher string
    The name of the extension handler publisher.The name of the extension handler publisher.
    type string
    The type of the extensions.
    autoUpgradeMinorVersion boolean
    Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.
    automaticUpgradeEnabled boolean

    Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. Supported values are true and false.

    NOTE: When automatic_upgrade_enabled is set to true, the type_handler_version is automatically updated by the Azure platform when a new version is available and any change in type_handler_version should be manually ignored by user.

    protectedSettings string
    JSON formatted protected settings for the extension, the value should be encoded with jsonencode function. The extension can contain either protected_settings or provision_after_extensions or no protected settings at all.
    provisionAfterExtensions string[]
    The collection of extension names. Collection of extension names after which this extension needs to be provisioned.
    settingsJson string
    JSON formatted public settings for the extension, the value should be encoded with jsonencode function.
    typeHandlerVersion string
    The version of script handler.
    name str
    The name of the virtual machine extension.
    publisher str
    The name of the extension handler publisher.The name of the extension handler publisher.
    type str
    The type of the extensions.
    auto_upgrade_minor_version bool
    Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.
    automatic_upgrade_enabled bool

    Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. Supported values are true and false.

    NOTE: When automatic_upgrade_enabled is set to true, the type_handler_version is automatically updated by the Azure platform when a new version is available and any change in type_handler_version should be manually ignored by user.

    protected_settings str
    JSON formatted protected settings for the extension, the value should be encoded with jsonencode function. The extension can contain either protected_settings or provision_after_extensions or no protected settings at all.
    provision_after_extensions Sequence[str]
    The collection of extension names. Collection of extension names after which this extension needs to be provisioned.
    settings_json str
    JSON formatted public settings for the extension, the value should be encoded with jsonencode function.
    type_handler_version str
    The version of script handler.
    name String
    The name of the virtual machine extension.
    publisher String
    The name of the extension handler publisher.The name of the extension handler publisher.
    type String
    The type of the extensions.
    autoUpgradeMinorVersion Boolean
    Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.
    automaticUpgradeEnabled Boolean

    Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. Supported values are true and false.

    NOTE: When automatic_upgrade_enabled is set to true, the type_handler_version is automatically updated by the Azure platform when a new version is available and any change in type_handler_version should be manually ignored by user.

    protectedSettings String
    JSON formatted protected settings for the extension, the value should be encoded with jsonencode function. The extension can contain either protected_settings or provision_after_extensions or no protected settings at all.
    provisionAfterExtensions List<String>
    The collection of extension names. Collection of extension names after which this extension needs to be provisioned.
    settingsJson String
    JSON formatted public settings for the extension, the value should be encoded with jsonencode function.
    typeHandlerVersion String
    The version of script handler.

    PoolFixedScale, PoolFixedScaleArgs

    NodeDeallocationMethod string
    It determines what to do with a node and its running task(s) if the pool size is decreasing. Values are Requeue, RetainedData, TaskCompletion and Terminate.
    ResizeTimeout string
    The timeout for resize operations. Defaults to PT15M.
    TargetDedicatedNodes int
    The number of nodes in the Batch pool. Defaults to 1.
    TargetLowPriorityNodes int
    The number of low priority nodes in the Batch pool. Defaults to 0.
    NodeDeallocationMethod string
    It determines what to do with a node and its running task(s) if the pool size is decreasing. Values are Requeue, RetainedData, TaskCompletion and Terminate.
    ResizeTimeout string
    The timeout for resize operations. Defaults to PT15M.
    TargetDedicatedNodes int
    The number of nodes in the Batch pool. Defaults to 1.
    TargetLowPriorityNodes int
    The number of low priority nodes in the Batch pool. Defaults to 0.
    nodeDeallocationMethod String
    It determines what to do with a node and its running task(s) if the pool size is decreasing. Values are Requeue, RetainedData, TaskCompletion and Terminate.
    resizeTimeout String
    The timeout for resize operations. Defaults to PT15M.
    targetDedicatedNodes Integer
    The number of nodes in the Batch pool. Defaults to 1.
    targetLowPriorityNodes Integer
    The number of low priority nodes in the Batch pool. Defaults to 0.
    nodeDeallocationMethod string
    It determines what to do with a node and its running task(s) if the pool size is decreasing. Values are Requeue, RetainedData, TaskCompletion and Terminate.
    resizeTimeout string
    The timeout for resize operations. Defaults to PT15M.
    targetDedicatedNodes number
    The number of nodes in the Batch pool. Defaults to 1.
    targetLowPriorityNodes number
    The number of low priority nodes in the Batch pool. Defaults to 0.
    node_deallocation_method str
    It determines what to do with a node and its running task(s) if the pool size is decreasing. Values are Requeue, RetainedData, TaskCompletion and Terminate.
    resize_timeout str
    The timeout for resize operations. Defaults to PT15M.
    target_dedicated_nodes int
    The number of nodes in the Batch pool. Defaults to 1.
    target_low_priority_nodes int
    The number of low priority nodes in the Batch pool. Defaults to 0.
    nodeDeallocationMethod String
    It determines what to do with a node and its running task(s) if the pool size is decreasing. Values are Requeue, RetainedData, TaskCompletion and Terminate.
    resizeTimeout String
    The timeout for resize operations. Defaults to PT15M.
    targetDedicatedNodes Number
    The number of nodes in the Batch pool. Defaults to 1.
    targetLowPriorityNodes Number
    The number of low priority nodes in the Batch pool. Defaults to 0.

    PoolIdentity, PoolIdentityArgs

    IdentityIds List<string>
    Specifies a list of User Assigned Managed Identity IDs to be assigned to this Batch Account.
    Type string
    Specifies the type of Managed Service Identity that should be configured on this Batch Account. Only possible value is UserAssigned.
    IdentityIds []string
    Specifies a list of User Assigned Managed Identity IDs to be assigned to this Batch Account.
    Type string
    Specifies the type of Managed Service Identity that should be configured on this Batch Account. Only possible value is UserAssigned.
    identityIds List<String>
    Specifies a list of User Assigned Managed Identity IDs to be assigned to this Batch Account.
    type String
    Specifies the type of Managed Service Identity that should be configured on this Batch Account. Only possible value is UserAssigned.
    identityIds string[]
    Specifies a list of User Assigned Managed Identity IDs to be assigned to this Batch Account.
    type string
    Specifies the type of Managed Service Identity that should be configured on this Batch Account. Only possible value is UserAssigned.
    identity_ids Sequence[str]
    Specifies a list of User Assigned Managed Identity IDs to be assigned to this Batch Account.
    type str
    Specifies the type of Managed Service Identity that should be configured on this Batch Account. Only possible value is UserAssigned.
    identityIds List<String>
    Specifies a list of User Assigned Managed Identity IDs to be assigned to this Batch Account.
    type String
    Specifies the type of Managed Service Identity that should be configured on this Batch Account. Only possible value is UserAssigned.

    PoolMount, PoolMountArgs

    AzureBlobFileSystem PoolMountAzureBlobFileSystem
    A azure_blob_file_system block defined as below.
    AzureFileShares List<PoolMountAzureFileShare>
    A azure_file_share block defined as below.
    CifsMounts List<PoolMountCifsMount>
    A cifs_mount block defined as below.
    NfsMounts List<PoolMountNfsMount>
    A nfs_mount block defined as below.
    AzureBlobFileSystem PoolMountAzureBlobFileSystem
    A azure_blob_file_system block defined as below.
    AzureFileShares []PoolMountAzureFileShare
    A azure_file_share block defined as below.
    CifsMounts []PoolMountCifsMount
    A cifs_mount block defined as below.
    NfsMounts []PoolMountNfsMount
    A nfs_mount block defined as below.
    azureBlobFileSystem PoolMountAzureBlobFileSystem
    A azure_blob_file_system block defined as below.
    azureFileShares List<PoolMountAzureFileShare>
    A azure_file_share block defined as below.
    cifsMounts List<PoolMountCifsMount>
    A cifs_mount block defined as below.
    nfsMounts List<PoolMountNfsMount>
    A nfs_mount block defined as below.
    azureBlobFileSystem PoolMountAzureBlobFileSystem
    A azure_blob_file_system block defined as below.
    azureFileShares PoolMountAzureFileShare[]
    A azure_file_share block defined as below.
    cifsMounts PoolMountCifsMount[]
    A cifs_mount block defined as below.
    nfsMounts PoolMountNfsMount[]
    A nfs_mount block defined as below.
    azure_blob_file_system PoolMountAzureBlobFileSystem
    A azure_blob_file_system block defined as below.
    azure_file_shares Sequence[PoolMountAzureFileShare]
    A azure_file_share block defined as below.
    cifs_mounts Sequence[PoolMountCifsMount]
    A cifs_mount block defined as below.
    nfs_mounts Sequence[PoolMountNfsMount]
    A nfs_mount block defined as below.
    azureBlobFileSystem Property Map
    A azure_blob_file_system block defined as below.
    azureFileShares List<Property Map>
    A azure_file_share block defined as below.
    cifsMounts List<Property Map>
    A cifs_mount block defined as below.
    nfsMounts List<Property Map>
    A nfs_mount block defined as below.

    PoolMountAzureBlobFileSystem, PoolMountAzureBlobFileSystemArgs

    AccountName string
    The Azure Storage Account name.
    ContainerName string
    The Azure Blob Storage Container name.
    RelativeMountPath string
    The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
    AccountKey string
    The Azure Storage Account key. This property is mutually exclusive with both sas_key and identity_id; exactly one must be specified.
    BlobfuseOptions string
    Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.
    IdentityId string
    The ARM resource id of the user assigned identity. This property is mutually exclusive with both account_key and sas_key; exactly one must be specified.
    SasKey string
    The Azure Storage SAS token. This property is mutually exclusive with both account_key and identity_id; exactly one must be specified.
    AccountName string
    The Azure Storage Account name.
    ContainerName string
    The Azure Blob Storage Container name.
    RelativeMountPath string
    The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
    AccountKey string
    The Azure Storage Account key. This property is mutually exclusive with both sas_key and identity_id; exactly one must be specified.
    BlobfuseOptions string
    Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.
    IdentityId string
    The ARM resource id of the user assigned identity. This property is mutually exclusive with both account_key and sas_key; exactly one must be specified.
    SasKey string
    The Azure Storage SAS token. This property is mutually exclusive with both account_key and identity_id; exactly one must be specified.
    accountName String
    The Azure Storage Account name.
    containerName String
    The Azure Blob Storage Container name.
    relativeMountPath String
    The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
    accountKey String
    The Azure Storage Account key. This property is mutually exclusive with both sas_key and identity_id; exactly one must be specified.
    blobfuseOptions String
    Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.
    identityId String
    The ARM resource id of the user assigned identity. This property is mutually exclusive with both account_key and sas_key; exactly one must be specified.
    sasKey String
    The Azure Storage SAS token. This property is mutually exclusive with both account_key and identity_id; exactly one must be specified.
    accountName string
    The Azure Storage Account name.
    containerName string
    The Azure Blob Storage Container name.
    relativeMountPath string
    The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
    accountKey string
    The Azure Storage Account key. This property is mutually exclusive with both sas_key and identity_id; exactly one must be specified.
    blobfuseOptions string
    Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.
    identityId string
    The ARM resource id of the user assigned identity. This property is mutually exclusive with both account_key and sas_key; exactly one must be specified.
    sasKey string
    The Azure Storage SAS token. This property is mutually exclusive with both account_key and identity_id; exactly one must be specified.
    account_name str
    The Azure Storage Account name.
    container_name str
    The Azure Blob Storage Container name.
    relative_mount_path str
    The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
    account_key str
    The Azure Storage Account key. This property is mutually exclusive with both sas_key and identity_id; exactly one must be specified.
    blobfuse_options str
    Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.
    identity_id str
    The ARM resource id of the user assigned identity. This property is mutually exclusive with both account_key and sas_key; exactly one must be specified.
    sas_key str
    The Azure Storage SAS token. This property is mutually exclusive with both account_key and identity_id; exactly one must be specified.
    accountName String
    The Azure Storage Account name.
    containerName String
    The Azure Blob Storage Container name.
    relativeMountPath String
    The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
    accountKey String
    The Azure Storage Account key. This property is mutually exclusive with both sas_key and identity_id; exactly one must be specified.
    blobfuseOptions String
    Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.
    identityId String
    The ARM resource id of the user assigned identity. This property is mutually exclusive with both account_key and sas_key; exactly one must be specified.
    sasKey String
    The Azure Storage SAS token. This property is mutually exclusive with both account_key and identity_id; exactly one must be specified.

    PoolMountAzureFileShare, PoolMountAzureFileShareArgs

    AccountKey string
    The Azure Storage Account key.
    AccountName string
    The Azure Storage Account name.
    AzureFileUrl string
    The Azure Files URL. This is of the form 'https://{account}.file.core.windows.net/'.
    RelativeMountPath string
    The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
    MountOptions string
    Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.
    AccountKey string
    The Azure Storage Account key.
    AccountName string
    The Azure Storage Account name.
    AzureFileUrl string
    The Azure Files URL. This is of the form 'https://{account}.file.core.windows.net/'.
    RelativeMountPath string
    The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
    MountOptions string
    Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.
    accountKey String
    The Azure Storage Account key.
    accountName String
    The Azure Storage Account name.
    azureFileUrl String
    The Azure Files URL. This is of the form 'https://{account}.file.core.windows.net/'.
    relativeMountPath String
    The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
    mountOptions String
    Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.
    accountKey string
    The Azure Storage Account key.
    accountName string
    The Azure Storage Account name.
    azureFileUrl string
    The Azure Files URL. This is of the form 'https://{account}.file.core.windows.net/'.
    relativeMountPath string
    The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
    mountOptions string
    Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.
    account_key str
    The Azure Storage Account key.
    account_name str
    The Azure Storage Account name.
    azure_file_url str
    The Azure Files URL. This is of the form 'https://{account}.file.core.windows.net/'.
    relative_mount_path str
    The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
    mount_options str
    Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.
    accountKey String
    The Azure Storage Account key.
    accountName String
    The Azure Storage Account name.
    azureFileUrl String
    The Azure Files URL. This is of the form 'https://{account}.file.core.windows.net/'.
    relativeMountPath String
    The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
    mountOptions String
    Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.

    PoolMountCifsMount, PoolMountCifsMountArgs

    Password string
    The password to use for authentication against the CIFS file system.
    RelativeMountPath string
    The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
    Source string
    The URI of the file system to mount.
    UserName string
    The user to use for authentication against the CIFS file system.
    MountOptions string
    Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.
    Password string
    The password to use for authentication against the CIFS file system.
    RelativeMountPath string
    The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
    Source string
    The URI of the file system to mount.
    UserName string
    The user to use for authentication against the CIFS file system.
    MountOptions string
    Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.
    password String
    The password to use for authentication against the CIFS file system.
    relativeMountPath String
    The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
    source String
    The URI of the file system to mount.
    userName String
    The user to use for authentication against the CIFS file system.
    mountOptions String
    Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.
    password string
    The password to use for authentication against the CIFS file system.
    relativeMountPath string
    The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
    source string
    The URI of the file system to mount.
    userName string
    The user to use for authentication against the CIFS file system.
    mountOptions string
    Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.
    password str
    The password to use for authentication against the CIFS file system.
    relative_mount_path str
    The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
    source str
    The URI of the file system to mount.
    user_name str
    The user to use for authentication against the CIFS file system.
    mount_options str
    Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.
    password String
    The password to use for authentication against the CIFS file system.
    relativeMountPath String
    The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
    source String
    The URI of the file system to mount.
    userName String
    The user to use for authentication against the CIFS file system.
    mountOptions String
    Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.

    PoolMountNfsMount, PoolMountNfsMountArgs

    RelativeMountPath string
    The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
    Source string
    The URI of the file system to mount.
    MountOptions string
    Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.
    RelativeMountPath string
    The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
    Source string
    The URI of the file system to mount.
    MountOptions string
    Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.
    relativeMountPath String
    The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
    source String
    The URI of the file system to mount.
    mountOptions String
    Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.
    relativeMountPath string
    The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
    source string
    The URI of the file system to mount.
    mountOptions string
    Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.
    relative_mount_path str
    The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
    source str
    The URI of the file system to mount.
    mount_options str
    Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.
    relativeMountPath String
    The relative path on compute node where the file system will be mounted All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
    source String
    The URI of the file system to mount.
    mountOptions String
    Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux.

    PoolNetworkConfiguration, PoolNetworkConfigurationArgs

    AcceleratedNetworkingEnabled bool
    Whether to enable accelerated networking. Possible values are true and false. Defaults to false. Changing this forces a new resource to be created.
    DynamicVnetAssignmentScope string
    The scope of dynamic vnet assignment. Allowed values: none, job. Changing this forces a new resource to be created. Defaults to none.
    EndpointConfigurations List<PoolNetworkConfigurationEndpointConfiguration>
    A list of endpoint_configuration blocks that can be used to address specific ports on an individual compute node externally as defined below. Set as documented in the inbound_nat_pools block below. Changing this forces a new resource to be created.
    PublicAddressProvisioningType string
    Type of public IP address provisioning. Supported values are BatchManaged, UserManaged and NoPublicIPAddresses.
    PublicIps List<string>
    A list of public IP ids that will be allocated to nodes. Changing this forces a new resource to be created.
    SubnetId string
    The ARM resource identifier of the virtual network subnet which the compute nodes of the pool will join. Changing this forces a new resource to be created.
    AcceleratedNetworkingEnabled bool
    Whether to enable accelerated networking. Possible values are true and false. Defaults to false. Changing this forces a new resource to be created.
    DynamicVnetAssignmentScope string
    The scope of dynamic vnet assignment. Allowed values: none, job. Changing this forces a new resource to be created. Defaults to none.
    EndpointConfigurations []PoolNetworkConfigurationEndpointConfiguration
    A list of endpoint_configuration blocks that can be used to address specific ports on an individual compute node externally as defined below. Set as documented in the inbound_nat_pools block below. Changing this forces a new resource to be created.
    PublicAddressProvisioningType string
    Type of public IP address provisioning. Supported values are BatchManaged, UserManaged and NoPublicIPAddresses.
    PublicIps []string
    A list of public IP ids that will be allocated to nodes. Changing this forces a new resource to be created.
    SubnetId string
    The ARM resource identifier of the virtual network subnet which the compute nodes of the pool will join. Changing this forces a new resource to be created.
    acceleratedNetworkingEnabled Boolean
    Whether to enable accelerated networking. Possible values are true and false. Defaults to false. Changing this forces a new resource to be created.
    dynamicVnetAssignmentScope String
    The scope of dynamic vnet assignment. Allowed values: none, job. Changing this forces a new resource to be created. Defaults to none.
    endpointConfigurations List<PoolNetworkConfigurationEndpointConfiguration>
    A list of endpoint_configuration blocks that can be used to address specific ports on an individual compute node externally as defined below. Set as documented in the inbound_nat_pools block below. Changing this forces a new resource to be created.
    publicAddressProvisioningType String
    Type of public IP address provisioning. Supported values are BatchManaged, UserManaged and NoPublicIPAddresses.
    publicIps List<String>
    A list of public IP ids that will be allocated to nodes. Changing this forces a new resource to be created.
    subnetId String
    The ARM resource identifier of the virtual network subnet which the compute nodes of the pool will join. Changing this forces a new resource to be created.
    acceleratedNetworkingEnabled boolean
    Whether to enable accelerated networking. Possible values are true and false. Defaults to false. Changing this forces a new resource to be created.
    dynamicVnetAssignmentScope string
    The scope of dynamic vnet assignment. Allowed values: none, job. Changing this forces a new resource to be created. Defaults to none.
    endpointConfigurations PoolNetworkConfigurationEndpointConfiguration[]
    A list of endpoint_configuration blocks that can be used to address specific ports on an individual compute node externally as defined below. Set as documented in the inbound_nat_pools block below. Changing this forces a new resource to be created.
    publicAddressProvisioningType string
    Type of public IP address provisioning. Supported values are BatchManaged, UserManaged and NoPublicIPAddresses.
    publicIps string[]
    A list of public IP ids that will be allocated to nodes. Changing this forces a new resource to be created.
    subnetId string
    The ARM resource identifier of the virtual network subnet which the compute nodes of the pool will join. Changing this forces a new resource to be created.
    accelerated_networking_enabled bool
    Whether to enable accelerated networking. Possible values are true and false. Defaults to false. Changing this forces a new resource to be created.
    dynamic_vnet_assignment_scope str
    The scope of dynamic vnet assignment. Allowed values: none, job. Changing this forces a new resource to be created. Defaults to none.
    endpoint_configurations Sequence[PoolNetworkConfigurationEndpointConfiguration]
    A list of endpoint_configuration blocks that can be used to address specific ports on an individual compute node externally as defined below. Set as documented in the inbound_nat_pools block below. Changing this forces a new resource to be created.
    public_address_provisioning_type str
    Type of public IP address provisioning. Supported values are BatchManaged, UserManaged and NoPublicIPAddresses.
    public_ips Sequence[str]
    A list of public IP ids that will be allocated to nodes. Changing this forces a new resource to be created.
    subnet_id str
    The ARM resource identifier of the virtual network subnet which the compute nodes of the pool will join. Changing this forces a new resource to be created.
    acceleratedNetworkingEnabled Boolean
    Whether to enable accelerated networking. Possible values are true and false. Defaults to false. Changing this forces a new resource to be created.
    dynamicVnetAssignmentScope String
    The scope of dynamic vnet assignment. Allowed values: none, job. Changing this forces a new resource to be created. Defaults to none.
    endpointConfigurations List<Property Map>
    A list of endpoint_configuration blocks that can be used to address specific ports on an individual compute node externally as defined below. Set as documented in the inbound_nat_pools block below. Changing this forces a new resource to be created.
    publicAddressProvisioningType String
    Type of public IP address provisioning. Supported values are BatchManaged, UserManaged and NoPublicIPAddresses.
    publicIps List<String>
    A list of public IP ids that will be allocated to nodes. Changing this forces a new resource to be created.
    subnetId String
    The ARM resource identifier of the virtual network subnet which the compute nodes of the pool will join. Changing this forces a new resource to be created.

    PoolNetworkConfigurationEndpointConfiguration, PoolNetworkConfigurationEndpointConfigurationArgs

    BackendPort int
    The port number on the compute node. Acceptable values are between 1 and 65535 except for 29876, 29877 as these are reserved. Changing this forces a new resource to be created.
    FrontendPortRange string
    The range of external ports that will be used to provide inbound access to the backendPort on individual compute nodes in the format of 1000-1100. Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved by the Batch service. All ranges within a pool must be distinct and cannot overlap. Values must be a range of at least 100 nodes. Changing this forces a new resource to be created.
    Name string
    The name of the endpoint. The name must be unique within a Batch pool, can contain letters, numbers, underscores, periods, and hyphens. Names must start with a letter or number, must end with a letter, number, or underscore, and cannot exceed 77 characters. Changing this forces a new resource to be created.
    Protocol string
    The protocol of the endpoint. Acceptable values are TCP and UDP. Changing this forces a new resource to be created.
    NetworkSecurityGroupRules List<PoolNetworkConfigurationEndpointConfigurationNetworkSecurityGroupRule>
    A list of network_security_group_rules blocks as defined below that will be applied to the endpoint. The maximum number of rules that can be specified across all the endpoints on a Batch pool is 25. If no network security group rules are specified, a default rule will be created to allow inbound access to the specified backendPort. Set as documented in the network_security_group_rules block below. Changing this forces a new resource to be created.
    BackendPort int
    The port number on the compute node. Acceptable values are between 1 and 65535 except for 29876, 29877 as these are reserved. Changing this forces a new resource to be created.
    FrontendPortRange string
    The range of external ports that will be used to provide inbound access to the backendPort on individual compute nodes in the format of 1000-1100. Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved by the Batch service. All ranges within a pool must be distinct and cannot overlap. Values must be a range of at least 100 nodes. Changing this forces a new resource to be created.
    Name string
    The name of the endpoint. The name must be unique within a Batch pool, can contain letters, numbers, underscores, periods, and hyphens. Names must start with a letter or number, must end with a letter, number, or underscore, and cannot exceed 77 characters. Changing this forces a new resource to be created.
    Protocol string
    The protocol of the endpoint. Acceptable values are TCP and UDP. Changing this forces a new resource to be created.
    NetworkSecurityGroupRules []PoolNetworkConfigurationEndpointConfigurationNetworkSecurityGroupRule
    A list of network_security_group_rules blocks as defined below that will be applied to the endpoint. The maximum number of rules that can be specified across all the endpoints on a Batch pool is 25. If no network security group rules are specified, a default rule will be created to allow inbound access to the specified backendPort. Set as documented in the network_security_group_rules block below. Changing this forces a new resource to be created.
    backendPort Integer
    The port number on the compute node. Acceptable values are between 1 and 65535 except for 29876, 29877 as these are reserved. Changing this forces a new resource to be created.
    frontendPortRange String
    The range of external ports that will be used to provide inbound access to the backendPort on individual compute nodes in the format of 1000-1100. Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved by the Batch service. All ranges within a pool must be distinct and cannot overlap. Values must be a range of at least 100 nodes. Changing this forces a new resource to be created.
    name String
    The name of the endpoint. The name must be unique within a Batch pool, can contain letters, numbers, underscores, periods, and hyphens. Names must start with a letter or number, must end with a letter, number, or underscore, and cannot exceed 77 characters. Changing this forces a new resource to be created.
    protocol String
    The protocol of the endpoint. Acceptable values are TCP and UDP. Changing this forces a new resource to be created.
    networkSecurityGroupRules List<PoolNetworkConfigurationEndpointConfigurationNetworkSecurityGroupRule>
    A list of network_security_group_rules blocks as defined below that will be applied to the endpoint. The maximum number of rules that can be specified across all the endpoints on a Batch pool is 25. If no network security group rules are specified, a default rule will be created to allow inbound access to the specified backendPort. Set as documented in the network_security_group_rules block below. Changing this forces a new resource to be created.
    backendPort number
    The port number on the compute node. Acceptable values are between 1 and 65535 except for 29876, 29877 as these are reserved. Changing this forces a new resource to be created.
    frontendPortRange string
    The range of external ports that will be used to provide inbound access to the backendPort on individual compute nodes in the format of 1000-1100. Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved by the Batch service. All ranges within a pool must be distinct and cannot overlap. Values must be a range of at least 100 nodes. Changing this forces a new resource to be created.
    name string
    The name of the endpoint. The name must be unique within a Batch pool, can contain letters, numbers, underscores, periods, and hyphens. Names must start with a letter or number, must end with a letter, number, or underscore, and cannot exceed 77 characters. Changing this forces a new resource to be created.
    protocol string
    The protocol of the endpoint. Acceptable values are TCP and UDP. Changing this forces a new resource to be created.
    networkSecurityGroupRules PoolNetworkConfigurationEndpointConfigurationNetworkSecurityGroupRule[]
    A list of network_security_group_rules blocks as defined below that will be applied to the endpoint. The maximum number of rules that can be specified across all the endpoints on a Batch pool is 25. If no network security group rules are specified, a default rule will be created to allow inbound access to the specified backendPort. Set as documented in the network_security_group_rules block below. Changing this forces a new resource to be created.
    backend_port int
    The port number on the compute node. Acceptable values are between 1 and 65535 except for 29876, 29877 as these are reserved. Changing this forces a new resource to be created.
    frontend_port_range str
    The range of external ports that will be used to provide inbound access to the backendPort on individual compute nodes in the format of 1000-1100. Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved by the Batch service. All ranges within a pool must be distinct and cannot overlap. Values must be a range of at least 100 nodes. Changing this forces a new resource to be created.
    name str
    The name of the endpoint. The name must be unique within a Batch pool, can contain letters, numbers, underscores, periods, and hyphens. Names must start with a letter or number, must end with a letter, number, or underscore, and cannot exceed 77 characters. Changing this forces a new resource to be created.
    protocol str
    The protocol of the endpoint. Acceptable values are TCP and UDP. Changing this forces a new resource to be created.
    network_security_group_rules Sequence[PoolNetworkConfigurationEndpointConfigurationNetworkSecurityGroupRule]
    A list of network_security_group_rules blocks as defined below that will be applied to the endpoint. The maximum number of rules that can be specified across all the endpoints on a Batch pool is 25. If no network security group rules are specified, a default rule will be created to allow inbound access to the specified backendPort. Set as documented in the network_security_group_rules block below. Changing this forces a new resource to be created.
    backendPort Number
    The port number on the compute node. Acceptable values are between 1 and 65535 except for 29876, 29877 as these are reserved. Changing this forces a new resource to be created.
    frontendPortRange String
    The range of external ports that will be used to provide inbound access to the backendPort on individual compute nodes in the format of 1000-1100. Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved by the Batch service. All ranges within a pool must be distinct and cannot overlap. Values must be a range of at least 100 nodes. Changing this forces a new resource to be created.
    name String
    The name of the endpoint. The name must be unique within a Batch pool, can contain letters, numbers, underscores, periods, and hyphens. Names must start with a letter or number, must end with a letter, number, or underscore, and cannot exceed 77 characters. Changing this forces a new resource to be created.
    protocol String
    The protocol of the endpoint. Acceptable values are TCP and UDP. Changing this forces a new resource to be created.
    networkSecurityGroupRules List<Property Map>
    A list of network_security_group_rules blocks as defined below that will be applied to the endpoint. The maximum number of rules that can be specified across all the endpoints on a Batch pool is 25. If no network security group rules are specified, a default rule will be created to allow inbound access to the specified backendPort. Set as documented in the network_security_group_rules block below. Changing this forces a new resource to be created.

    PoolNetworkConfigurationEndpointConfigurationNetworkSecurityGroupRule, PoolNetworkConfigurationEndpointConfigurationNetworkSecurityGroupRuleArgs

    Access string
    The action that should be taken for a specified IP address, subnet range or tag. Acceptable values are Allow and Deny. Changing this forces a new resource to be created.
    Priority int
    The priority for this rule. The value must be at least 150. Changing this forces a new resource to be created.
    SourceAddressPrefix string
    The source address prefix or tag to match for the rule. Changing this forces a new resource to be created.
    SourcePortRanges List<string>
    The source port ranges to match for the rule. Valid values are * (for all ports 0 - 65535) or arrays of ports or port ranges (i.e. 100-200). The ports should in the range of 0 to 65535 and the port ranges or ports can't overlap. If any other values are provided the request fails with HTTP status code 400. Default value will be *. Changing this forces a new resource to be created.
    Access string
    The action that should be taken for a specified IP address, subnet range or tag. Acceptable values are Allow and Deny. Changing this forces a new resource to be created.
    Priority int
    The priority for this rule. The value must be at least 150. Changing this forces a new resource to be created.
    SourceAddressPrefix string
    The source address prefix or tag to match for the rule. Changing this forces a new resource to be created.
    SourcePortRanges []string
    The source port ranges to match for the rule. Valid values are * (for all ports 0 - 65535) or arrays of ports or port ranges (i.e. 100-200). The ports should in the range of 0 to 65535 and the port ranges or ports can't overlap. If any other values are provided the request fails with HTTP status code 400. Default value will be *. Changing this forces a new resource to be created.
    access String
    The action that should be taken for a specified IP address, subnet range or tag. Acceptable values are Allow and Deny. Changing this forces a new resource to be created.
    priority Integer
    The priority for this rule. The value must be at least 150. Changing this forces a new resource to be created.
    sourceAddressPrefix String
    The source address prefix or tag to match for the rule. Changing this forces a new resource to be created.
    sourcePortRanges List<String>
    The source port ranges to match for the rule. Valid values are * (for all ports 0 - 65535) or arrays of ports or port ranges (i.e. 100-200). The ports should in the range of 0 to 65535 and the port ranges or ports can't overlap. If any other values are provided the request fails with HTTP status code 400. Default value will be *. Changing this forces a new resource to be created.
    access string
    The action that should be taken for a specified IP address, subnet range or tag. Acceptable values are Allow and Deny. Changing this forces a new resource to be created.
    priority number
    The priority for this rule. The value must be at least 150. Changing this forces a new resource to be created.
    sourceAddressPrefix string
    The source address prefix or tag to match for the rule. Changing this forces a new resource to be created.
    sourcePortRanges string[]
    The source port ranges to match for the rule. Valid values are * (for all ports 0 - 65535) or arrays of ports or port ranges (i.e. 100-200). The ports should in the range of 0 to 65535 and the port ranges or ports can't overlap. If any other values are provided the request fails with HTTP status code 400. Default value will be *. Changing this forces a new resource to be created.
    access str
    The action that should be taken for a specified IP address, subnet range or tag. Acceptable values are Allow and Deny. Changing this forces a new resource to be created.
    priority int
    The priority for this rule. The value must be at least 150. Changing this forces a new resource to be created.
    source_address_prefix str
    The source address prefix or tag to match for the rule. Changing this forces a new resource to be created.
    source_port_ranges Sequence[str]
    The source port ranges to match for the rule. Valid values are * (for all ports 0 - 65535) or arrays of ports or port ranges (i.e. 100-200). The ports should in the range of 0 to 65535 and the port ranges or ports can't overlap. If any other values are provided the request fails with HTTP status code 400. Default value will be *. Changing this forces a new resource to be created.
    access String
    The action that should be taken for a specified IP address, subnet range or tag. Acceptable values are Allow and Deny. Changing this forces a new resource to be created.
    priority Number
    The priority for this rule. The value must be at least 150. Changing this forces a new resource to be created.
    sourceAddressPrefix String
    The source address prefix or tag to match for the rule. Changing this forces a new resource to be created.
    sourcePortRanges List<String>
    The source port ranges to match for the rule. Valid values are * (for all ports 0 - 65535) or arrays of ports or port ranges (i.e. 100-200). The ports should in the range of 0 to 65535 and the port ranges or ports can't overlap. If any other values are provided the request fails with HTTP status code 400. Default value will be *. Changing this forces a new resource to be created.

    PoolNodePlacement, PoolNodePlacementArgs

    Policy string
    The placement policy for allocating nodes in the pool. Values are: "Regional": All nodes in the pool will be allocated in the same region; "Zonal": Nodes in the pool will be spread across different zones with the best effort balancing. Defaults to Regional.
    Policy string
    The placement policy for allocating nodes in the pool. Values are: "Regional": All nodes in the pool will be allocated in the same region; "Zonal": Nodes in the pool will be spread across different zones with the best effort balancing. Defaults to Regional.
    policy String
    The placement policy for allocating nodes in the pool. Values are: "Regional": All nodes in the pool will be allocated in the same region; "Zonal": Nodes in the pool will be spread across different zones with the best effort balancing. Defaults to Regional.
    policy string
    The placement policy for allocating nodes in the pool. Values are: "Regional": All nodes in the pool will be allocated in the same region; "Zonal": Nodes in the pool will be spread across different zones with the best effort balancing. Defaults to Regional.
    policy str
    The placement policy for allocating nodes in the pool. Values are: "Regional": All nodes in the pool will be allocated in the same region; "Zonal": Nodes in the pool will be spread across different zones with the best effort balancing. Defaults to Regional.
    policy String
    The placement policy for allocating nodes in the pool. Values are: "Regional": All nodes in the pool will be allocated in the same region; "Zonal": Nodes in the pool will be spread across different zones with the best effort balancing. Defaults to Regional.

    PoolStartTask, PoolStartTaskArgs

    CommandLine string
    The command line executed by the start task.
    UserIdentity PoolStartTaskUserIdentity
    A user_identity block that describes the user identity under which the start task runs as defined below.
    CommonEnvironmentProperties Dictionary<string, string>
    A map of strings (key,value) that represents the environment variables to set in the start task.
    Containers List<PoolStartTaskContainer>
    A container block is the settings for the container under which the start task runs as defined below. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all task environment variables are mapped into the container, and the task command line is executed in the container.
    ResourceFiles List<PoolStartTaskResourceFile>
    One or more resource_file blocks that describe the files to be downloaded to a compute node as defined below.
    TaskRetryMaximum int
    The number of retry count.
    WaitForSuccess bool
    A flag that indicates if the Batch pool should wait for the start task to be completed. Default to false.
    CommandLine string
    The command line executed by the start task.
    UserIdentity PoolStartTaskUserIdentity
    A user_identity block that describes the user identity under which the start task runs as defined below.
    CommonEnvironmentProperties map[string]string
    A map of strings (key,value) that represents the environment variables to set in the start task.
    Containers []PoolStartTaskContainer
    A container block is the settings for the container under which the start task runs as defined below. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all task environment variables are mapped into the container, and the task command line is executed in the container.
    ResourceFiles []PoolStartTaskResourceFile
    One or more resource_file blocks that describe the files to be downloaded to a compute node as defined below.
    TaskRetryMaximum int
    The number of retry count.
    WaitForSuccess bool
    A flag that indicates if the Batch pool should wait for the start task to be completed. Default to false.
    commandLine String
    The command line executed by the start task.
    userIdentity PoolStartTaskUserIdentity
    A user_identity block that describes the user identity under which the start task runs as defined below.
    commonEnvironmentProperties Map<String,String>
    A map of strings (key,value) that represents the environment variables to set in the start task.
    containers List<PoolStartTaskContainer>
    A container block is the settings for the container under which the start task runs as defined below. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all task environment variables are mapped into the container, and the task command line is executed in the container.
    resourceFiles List<PoolStartTaskResourceFile>
    One or more resource_file blocks that describe the files to be downloaded to a compute node as defined below.
    taskRetryMaximum Integer
    The number of retry count.
    waitForSuccess Boolean
    A flag that indicates if the Batch pool should wait for the start task to be completed. Default to false.
    commandLine string
    The command line executed by the start task.
    userIdentity PoolStartTaskUserIdentity
    A user_identity block that describes the user identity under which the start task runs as defined below.
    commonEnvironmentProperties {[key: string]: string}
    A map of strings (key,value) that represents the environment variables to set in the start task.
    containers PoolStartTaskContainer[]
    A container block is the settings for the container under which the start task runs as defined below. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all task environment variables are mapped into the container, and the task command line is executed in the container.
    resourceFiles PoolStartTaskResourceFile[]
    One or more resource_file blocks that describe the files to be downloaded to a compute node as defined below.
    taskRetryMaximum number
    The number of retry count.
    waitForSuccess boolean
    A flag that indicates if the Batch pool should wait for the start task to be completed. Default to false.
    command_line str
    The command line executed by the start task.
    user_identity PoolStartTaskUserIdentity
    A user_identity block that describes the user identity under which the start task runs as defined below.
    common_environment_properties Mapping[str, str]
    A map of strings (key,value) that represents the environment variables to set in the start task.
    containers Sequence[PoolStartTaskContainer]
    A container block is the settings for the container under which the start task runs as defined below. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all task environment variables are mapped into the container, and the task command line is executed in the container.
    resource_files Sequence[PoolStartTaskResourceFile]
    One or more resource_file blocks that describe the files to be downloaded to a compute node as defined below.
    task_retry_maximum int
    The number of retry count.
    wait_for_success bool
    A flag that indicates if the Batch pool should wait for the start task to be completed. Default to false.
    commandLine String
    The command line executed by the start task.
    userIdentity Property Map
    A user_identity block that describes the user identity under which the start task runs as defined below.
    commonEnvironmentProperties Map<String>
    A map of strings (key,value) that represents the environment variables to set in the start task.
    containers List<Property Map>
    A container block is the settings for the container under which the start task runs as defined below. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all task environment variables are mapped into the container, and the task command line is executed in the container.
    resourceFiles List<Property Map>
    One or more resource_file blocks that describe the files to be downloaded to a compute node as defined below.
    taskRetryMaximum Number
    The number of retry count.
    waitForSuccess Boolean
    A flag that indicates if the Batch pool should wait for the start task to be completed. Default to false.

    PoolStartTaskContainer, PoolStartTaskContainerArgs

    ImageName string
    The image to use to create the container in which the task will run. This is the full image reference, as would be specified to "docker pull". If no tag is provided as part of the image name, the tag ":latest" is used as a default.
    Registries List<PoolStartTaskContainerRegistry>
    The container_registries block defined as below.
    RunOptions string
    Additional options to the container create command. These additional options are supplied as arguments to the "docker create" command, in addition to those controlled by the Batch Service.
    WorkingDirectory string
    A flag to indicate where the container task working directory is. Possible values are TaskWorkingDirectory and ContainerImageDefault.
    ImageName string
    The image to use to create the container in which the task will run. This is the full image reference, as would be specified to "docker pull". If no tag is provided as part of the image name, the tag ":latest" is used as a default.
    Registries []PoolStartTaskContainerRegistry
    The container_registries block defined as below.
    RunOptions string
    Additional options to the container create command. These additional options are supplied as arguments to the "docker create" command, in addition to those controlled by the Batch Service.
    WorkingDirectory string
    A flag to indicate where the container task working directory is. Possible values are TaskWorkingDirectory and ContainerImageDefault.
    imageName String
    The image to use to create the container in which the task will run. This is the full image reference, as would be specified to "docker pull". If no tag is provided as part of the image name, the tag ":latest" is used as a default.
    registries List<PoolStartTaskContainerRegistry>
    The container_registries block defined as below.
    runOptions String
    Additional options to the container create command. These additional options are supplied as arguments to the "docker create" command, in addition to those controlled by the Batch Service.
    workingDirectory String
    A flag to indicate where the container task working directory is. Possible values are TaskWorkingDirectory and ContainerImageDefault.
    imageName string
    The image to use to create the container in which the task will run. This is the full image reference, as would be specified to "docker pull". If no tag is provided as part of the image name, the tag ":latest" is used as a default.
    registries PoolStartTaskContainerRegistry[]
    The container_registries block defined as below.
    runOptions string
    Additional options to the container create command. These additional options are supplied as arguments to the "docker create" command, in addition to those controlled by the Batch Service.
    workingDirectory string
    A flag to indicate where the container task working directory is. Possible values are TaskWorkingDirectory and ContainerImageDefault.
    image_name str
    The image to use to create the container in which the task will run. This is the full image reference, as would be specified to "docker pull". If no tag is provided as part of the image name, the tag ":latest" is used as a default.
    registries Sequence[PoolStartTaskContainerRegistry]
    The container_registries block defined as below.
    run_options str
    Additional options to the container create command. These additional options are supplied as arguments to the "docker create" command, in addition to those controlled by the Batch Service.
    working_directory str
    A flag to indicate where the container task working directory is. Possible values are TaskWorkingDirectory and ContainerImageDefault.
    imageName String
    The image to use to create the container in which the task will run. This is the full image reference, as would be specified to "docker pull". If no tag is provided as part of the image name, the tag ":latest" is used as a default.
    registries List<Property Map>
    The container_registries block defined as below.
    runOptions String
    Additional options to the container create command. These additional options are supplied as arguments to the "docker create" command, in addition to those controlled by the Batch Service.
    workingDirectory String
    A flag to indicate where the container task working directory is. Possible values are TaskWorkingDirectory and ContainerImageDefault.

    PoolStartTaskContainerRegistry, PoolStartTaskContainerRegistryArgs

    RegistryServer string
    Password string
    UserAssignedIdentityId string
    The User Assigned Identity to use for Container Registry access.
    UserName string
    RegistryServer string
    Password string
    UserAssignedIdentityId string
    The User Assigned Identity to use for Container Registry access.
    UserName string
    registryServer String
    password String
    userAssignedIdentityId String
    The User Assigned Identity to use for Container Registry access.
    userName String
    registryServer string
    password string
    userAssignedIdentityId string
    The User Assigned Identity to use for Container Registry access.
    userName string
    registry_server str
    password str
    user_assigned_identity_id str
    The User Assigned Identity to use for Container Registry access.
    user_name str
    registryServer String
    password String
    userAssignedIdentityId String
    The User Assigned Identity to use for Container Registry access.
    userName String

    PoolStartTaskResourceFile, PoolStartTaskResourceFileArgs

    AutoStorageContainerName string
    The storage container name in the auto storage account.
    BlobPrefix string
    The blob prefix to use when downloading blobs from an Azure Storage container. Only the blobs whose names begin with the specified prefix will be downloaded. The property is valid only when auto_storage_container_name or storage_container_url is used. This prefix can be a partial filename or a subdirectory. If a prefix is not specified, all the files in the container will be downloaded.
    FileMode string
    The file permission mode represented as a string in octal format (e.g. "0644"). This property applies only to files being downloaded to Linux compute nodes. It will be ignored if it is specified for a resource_file which will be downloaded to a Windows node. If this property is not specified for a Linux node, then a default value of 0770 is applied to the file.
    FilePath string
    The location on the compute node to which to download the file, relative to the task's working directory. If the http_url property is specified, the file_path is required and describes the path which the file will be downloaded to, including the filename. Otherwise, if the auto_storage_container_name or storage_container_url property is specified, file_path is optional and is the directory to download the files to. In the case where file_path is used as a directory, any directory structure already associated with the input data will be retained in full and appended to the specified filePath directory. The specified relative path cannot break out of the task's working directory (for example by using '..').
    HttpUrl string
    The URL of the file to download. If the URL is Azure Blob Storage, it must be readable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, or set the ACL for the blob or its container to allow public access.
    StorageContainerUrl string
    The URL of the blob container within Azure Blob Storage. This URL must be readable and listable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read and list permissions on the blob, or set the ACL for the blob or its container to allow public access.
    UserAssignedIdentityId string

    An identity reference from pool's user assigned managed identity list.

    Please Note: Exactly one of auto_storage_container_name, storage_container_url and auto_user must be specified.

    AutoStorageContainerName string
    The storage container name in the auto storage account.
    BlobPrefix string
    The blob prefix to use when downloading blobs from an Azure Storage container. Only the blobs whose names begin with the specified prefix will be downloaded. The property is valid only when auto_storage_container_name or storage_container_url is used. This prefix can be a partial filename or a subdirectory. If a prefix is not specified, all the files in the container will be downloaded.
    FileMode string
    The file permission mode represented as a string in octal format (e.g. "0644"). This property applies only to files being downloaded to Linux compute nodes. It will be ignored if it is specified for a resource_file which will be downloaded to a Windows node. If this property is not specified for a Linux node, then a default value of 0770 is applied to the file.
    FilePath string
    The location on the compute node to which to download the file, relative to the task's working directory. If the http_url property is specified, the file_path is required and describes the path which the file will be downloaded to, including the filename. Otherwise, if the auto_storage_container_name or storage_container_url property is specified, file_path is optional and is the directory to download the files to. In the case where file_path is used as a directory, any directory structure already associated with the input data will be retained in full and appended to the specified filePath directory. The specified relative path cannot break out of the task's working directory (for example by using '..').
    HttpUrl string
    The URL of the file to download. If the URL is Azure Blob Storage, it must be readable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, or set the ACL for the blob or its container to allow public access.
    StorageContainerUrl string
    The URL of the blob container within Azure Blob Storage. This URL must be readable and listable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read and list permissions on the blob, or set the ACL for the blob or its container to allow public access.
    UserAssignedIdentityId string

    An identity reference from pool's user assigned managed identity list.

    Please Note: Exactly one of auto_storage_container_name, storage_container_url and auto_user must be specified.

    autoStorageContainerName String
    The storage container name in the auto storage account.
    blobPrefix String
    The blob prefix to use when downloading blobs from an Azure Storage container. Only the blobs whose names begin with the specified prefix will be downloaded. The property is valid only when auto_storage_container_name or storage_container_url is used. This prefix can be a partial filename or a subdirectory. If a prefix is not specified, all the files in the container will be downloaded.
    fileMode String
    The file permission mode represented as a string in octal format (e.g. "0644"). This property applies only to files being downloaded to Linux compute nodes. It will be ignored if it is specified for a resource_file which will be downloaded to a Windows node. If this property is not specified for a Linux node, then a default value of 0770 is applied to the file.
    filePath String
    The location on the compute node to which to download the file, relative to the task's working directory. If the http_url property is specified, the file_path is required and describes the path which the file will be downloaded to, including the filename. Otherwise, if the auto_storage_container_name or storage_container_url property is specified, file_path is optional and is the directory to download the files to. In the case where file_path is used as a directory, any directory structure already associated with the input data will be retained in full and appended to the specified filePath directory. The specified relative path cannot break out of the task's working directory (for example by using '..').
    httpUrl String
    The URL of the file to download. If the URL is Azure Blob Storage, it must be readable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, or set the ACL for the blob or its container to allow public access.
    storageContainerUrl String
    The URL of the blob container within Azure Blob Storage. This URL must be readable and listable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read and list permissions on the blob, or set the ACL for the blob or its container to allow public access.
    userAssignedIdentityId String

    An identity reference from pool's user assigned managed identity list.

    Please Note: Exactly one of auto_storage_container_name, storage_container_url and auto_user must be specified.

    autoStorageContainerName string
    The storage container name in the auto storage account.
    blobPrefix string
    The blob prefix to use when downloading blobs from an Azure Storage container. Only the blobs whose names begin with the specified prefix will be downloaded. The property is valid only when auto_storage_container_name or storage_container_url is used. This prefix can be a partial filename or a subdirectory. If a prefix is not specified, all the files in the container will be downloaded.
    fileMode string
    The file permission mode represented as a string in octal format (e.g. "0644"). This property applies only to files being downloaded to Linux compute nodes. It will be ignored if it is specified for a resource_file which will be downloaded to a Windows node. If this property is not specified for a Linux node, then a default value of 0770 is applied to the file.
    filePath string
    The location on the compute node to which to download the file, relative to the task's working directory. If the http_url property is specified, the file_path is required and describes the path which the file will be downloaded to, including the filename. Otherwise, if the auto_storage_container_name or storage_container_url property is specified, file_path is optional and is the directory to download the files to. In the case where file_path is used as a directory, any directory structure already associated with the input data will be retained in full and appended to the specified filePath directory. The specified relative path cannot break out of the task's working directory (for example by using '..').
    httpUrl string
    The URL of the file to download. If the URL is Azure Blob Storage, it must be readable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, or set the ACL for the blob or its container to allow public access.
    storageContainerUrl string
    The URL of the blob container within Azure Blob Storage. This URL must be readable and listable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read and list permissions on the blob, or set the ACL for the blob or its container to allow public access.
    userAssignedIdentityId string

    An identity reference from pool's user assigned managed identity list.

    Please Note: Exactly one of auto_storage_container_name, storage_container_url and auto_user must be specified.

    auto_storage_container_name str
    The storage container name in the auto storage account.
    blob_prefix str
    The blob prefix to use when downloading blobs from an Azure Storage container. Only the blobs whose names begin with the specified prefix will be downloaded. The property is valid only when auto_storage_container_name or storage_container_url is used. This prefix can be a partial filename or a subdirectory. If a prefix is not specified, all the files in the container will be downloaded.
    file_mode str
    The file permission mode represented as a string in octal format (e.g. "0644"). This property applies only to files being downloaded to Linux compute nodes. It will be ignored if it is specified for a resource_file which will be downloaded to a Windows node. If this property is not specified for a Linux node, then a default value of 0770 is applied to the file.
    file_path str
    The location on the compute node to which to download the file, relative to the task's working directory. If the http_url property is specified, the file_path is required and describes the path which the file will be downloaded to, including the filename. Otherwise, if the auto_storage_container_name or storage_container_url property is specified, file_path is optional and is the directory to download the files to. In the case where file_path is used as a directory, any directory structure already associated with the input data will be retained in full and appended to the specified filePath directory. The specified relative path cannot break out of the task's working directory (for example by using '..').
    http_url str
    The URL of the file to download. If the URL is Azure Blob Storage, it must be readable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, or set the ACL for the blob or its container to allow public access.
    storage_container_url str
    The URL of the blob container within Azure Blob Storage. This URL must be readable and listable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read and list permissions on the blob, or set the ACL for the blob or its container to allow public access.
    user_assigned_identity_id str

    An identity reference from pool's user assigned managed identity list.

    Please Note: Exactly one of auto_storage_container_name, storage_container_url and auto_user must be specified.

    autoStorageContainerName String
    The storage container name in the auto storage account.
    blobPrefix String
    The blob prefix to use when downloading blobs from an Azure Storage container. Only the blobs whose names begin with the specified prefix will be downloaded. The property is valid only when auto_storage_container_name or storage_container_url is used. This prefix can be a partial filename or a subdirectory. If a prefix is not specified, all the files in the container will be downloaded.
    fileMode String
    The file permission mode represented as a string in octal format (e.g. "0644"). This property applies only to files being downloaded to Linux compute nodes. It will be ignored if it is specified for a resource_file which will be downloaded to a Windows node. If this property is not specified for a Linux node, then a default value of 0770 is applied to the file.
    filePath String
    The location on the compute node to which to download the file, relative to the task's working directory. If the http_url property is specified, the file_path is required and describes the path which the file will be downloaded to, including the filename. Otherwise, if the auto_storage_container_name or storage_container_url property is specified, file_path is optional and is the directory to download the files to. In the case where file_path is used as a directory, any directory structure already associated with the input data will be retained in full and appended to the specified filePath directory. The specified relative path cannot break out of the task's working directory (for example by using '..').
    httpUrl String
    The URL of the file to download. If the URL is Azure Blob Storage, it must be readable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, or set the ACL for the blob or its container to allow public access.
    storageContainerUrl String
    The URL of the blob container within Azure Blob Storage. This URL must be readable and listable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read and list permissions on the blob, or set the ACL for the blob or its container to allow public access.
    userAssignedIdentityId String

    An identity reference from pool's user assigned managed identity list.

    Please Note: Exactly one of auto_storage_container_name, storage_container_url and auto_user must be specified.

    PoolStartTaskUserIdentity, PoolStartTaskUserIdentityArgs

    AutoUser PoolStartTaskUserIdentityAutoUser

    A auto_user block that describes the user identity under which the start task runs as defined below.

    Please Note: user_name and auto_user blocks cannot be used both at the same time, but you need to define one or the other.

    UserName string
    The username to be used by the Batch pool start task.
    AutoUser PoolStartTaskUserIdentityAutoUser

    A auto_user block that describes the user identity under which the start task runs as defined below.

    Please Note: user_name and auto_user blocks cannot be used both at the same time, but you need to define one or the other.

    UserName string
    The username to be used by the Batch pool start task.
    autoUser PoolStartTaskUserIdentityAutoUser

    A auto_user block that describes the user identity under which the start task runs as defined below.

    Please Note: user_name and auto_user blocks cannot be used both at the same time, but you need to define one or the other.

    userName String
    The username to be used by the Batch pool start task.
    autoUser PoolStartTaskUserIdentityAutoUser

    A auto_user block that describes the user identity under which the start task runs as defined below.

    Please Note: user_name and auto_user blocks cannot be used both at the same time, but you need to define one or the other.

    userName string
    The username to be used by the Batch pool start task.
    auto_user PoolStartTaskUserIdentityAutoUser

    A auto_user block that describes the user identity under which the start task runs as defined below.

    Please Note: user_name and auto_user blocks cannot be used both at the same time, but you need to define one or the other.

    user_name str
    The username to be used by the Batch pool start task.
    autoUser Property Map

    A auto_user block that describes the user identity under which the start task runs as defined below.

    Please Note: user_name and auto_user blocks cannot be used both at the same time, but you need to define one or the other.

    userName String
    The username to be used by the Batch pool start task.

    PoolStartTaskUserIdentityAutoUser, PoolStartTaskUserIdentityAutoUserArgs

    ElevationLevel string
    The elevation level of the user identity under which the start task runs. Possible values are Admin or NonAdmin. Defaults to NonAdmin.
    Scope string
    The scope of the user identity under which the start task runs. Possible values are Task or Pool. Defaults to Task.
    ElevationLevel string
    The elevation level of the user identity under which the start task runs. Possible values are Admin or NonAdmin. Defaults to NonAdmin.
    Scope string
    The scope of the user identity under which the start task runs. Possible values are Task or Pool. Defaults to Task.
    elevationLevel String
    The elevation level of the user identity under which the start task runs. Possible values are Admin or NonAdmin. Defaults to NonAdmin.
    scope String
    The scope of the user identity under which the start task runs. Possible values are Task or Pool. Defaults to Task.
    elevationLevel string
    The elevation level of the user identity under which the start task runs. Possible values are Admin or NonAdmin. Defaults to NonAdmin.
    scope string
    The scope of the user identity under which the start task runs. Possible values are Task or Pool. Defaults to Task.
    elevation_level str
    The elevation level of the user identity under which the start task runs. Possible values are Admin or NonAdmin. Defaults to NonAdmin.
    scope str
    The scope of the user identity under which the start task runs. Possible values are Task or Pool. Defaults to Task.
    elevationLevel String
    The elevation level of the user identity under which the start task runs. Possible values are Admin or NonAdmin. Defaults to NonAdmin.
    scope String
    The scope of the user identity under which the start task runs. Possible values are Task or Pool. Defaults to Task.

    PoolStorageImageReference, PoolStorageImageReferenceArgs

    Id string
    Specifies the ID of the Custom Image which the virtual machines should be created from. Changing this forces a new resource to be created. See official documentation for more details.
    Offer string
    Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
    Publisher string
    Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
    Sku string
    Specifies the SKU of the image used to create the virtual machines. Changing this forces a new resource to be created.
    Version string

    Specifies the version of the image used to create the virtual machines. Changing this forces a new resource to be created.

    To provision a Custom Image, the following fields are applicable:

    Id string
    Specifies the ID of the Custom Image which the virtual machines should be created from. Changing this forces a new resource to be created. See official documentation for more details.
    Offer string
    Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
    Publisher string
    Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
    Sku string
    Specifies the SKU of the image used to create the virtual machines. Changing this forces a new resource to be created.
    Version string

    Specifies the version of the image used to create the virtual machines. Changing this forces a new resource to be created.

    To provision a Custom Image, the following fields are applicable:

    id String
    Specifies the ID of the Custom Image which the virtual machines should be created from. Changing this forces a new resource to be created. See official documentation for more details.
    offer String
    Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
    publisher String
    Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
    sku String
    Specifies the SKU of the image used to create the virtual machines. Changing this forces a new resource to be created.
    version String

    Specifies the version of the image used to create the virtual machines. Changing this forces a new resource to be created.

    To provision a Custom Image, the following fields are applicable:

    id string
    Specifies the ID of the Custom Image which the virtual machines should be created from. Changing this forces a new resource to be created. See official documentation for more details.
    offer string
    Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
    publisher string
    Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
    sku string
    Specifies the SKU of the image used to create the virtual machines. Changing this forces a new resource to be created.
    version string

    Specifies the version of the image used to create the virtual machines. Changing this forces a new resource to be created.

    To provision a Custom Image, the following fields are applicable:

    id str
    Specifies the ID of the Custom Image which the virtual machines should be created from. Changing this forces a new resource to be created. See official documentation for more details.
    offer str
    Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
    publisher str
    Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
    sku str
    Specifies the SKU of the image used to create the virtual machines. Changing this forces a new resource to be created.
    version str

    Specifies the version of the image used to create the virtual machines. Changing this forces a new resource to be created.

    To provision a Custom Image, the following fields are applicable:

    id String
    Specifies the ID of the Custom Image which the virtual machines should be created from. Changing this forces a new resource to be created. See official documentation for more details.
    offer String
    Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
    publisher String
    Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
    sku String
    Specifies the SKU of the image used to create the virtual machines. Changing this forces a new resource to be created.
    version String

    Specifies the version of the image used to create the virtual machines. Changing this forces a new resource to be created.

    To provision a Custom Image, the following fields are applicable:

    PoolTaskSchedulingPolicy, PoolTaskSchedulingPolicyArgs

    NodeFillType string
    Supported values are "Pack" and "Spread". "Pack" means as many tasks as possible (taskSlotsPerNode) should be assigned to each node in the pool before any tasks are assigned to the next node in the pool. "Spread" means that tasks should be assigned evenly across all nodes in the pool.
    NodeFillType string
    Supported values are "Pack" and "Spread". "Pack" means as many tasks as possible (taskSlotsPerNode) should be assigned to each node in the pool before any tasks are assigned to the next node in the pool. "Spread" means that tasks should be assigned evenly across all nodes in the pool.
    nodeFillType String
    Supported values are "Pack" and "Spread". "Pack" means as many tasks as possible (taskSlotsPerNode) should be assigned to each node in the pool before any tasks are assigned to the next node in the pool. "Spread" means that tasks should be assigned evenly across all nodes in the pool.
    nodeFillType string
    Supported values are "Pack" and "Spread". "Pack" means as many tasks as possible (taskSlotsPerNode) should be assigned to each node in the pool before any tasks are assigned to the next node in the pool. "Spread" means that tasks should be assigned evenly across all nodes in the pool.
    node_fill_type str
    Supported values are "Pack" and "Spread". "Pack" means as many tasks as possible (taskSlotsPerNode) should be assigned to each node in the pool before any tasks are assigned to the next node in the pool. "Spread" means that tasks should be assigned evenly across all nodes in the pool.
    nodeFillType String
    Supported values are "Pack" and "Spread". "Pack" means as many tasks as possible (taskSlotsPerNode) should be assigned to each node in the pool before any tasks are assigned to the next node in the pool. "Spread" means that tasks should be assigned evenly across all nodes in the pool.

    PoolUserAccount, PoolUserAccountArgs

    ElevationLevel string
    The elevation level of the user account. "NonAdmin" - The auto user is a standard user without elevated access. "Admin" - The auto user is a user with elevated access and operates with full Administrator permissions. The default value is nonAdmin.
    Name string
    The name of the user account.
    Password string
    The password for the user account.
    LinuxUserConfigurations List<PoolUserAccountLinuxUserConfiguration>
    The linux_user_configuration block defined below is a linux-specific user configuration for the user account. This property is ignored if specified on a Windows pool. If not specified, the user is created with the default options.
    WindowsUserConfigurations List<PoolUserAccountWindowsUserConfiguration>
    The windows_user_configuration block defined below is a windows-specific user configuration for the user account. This property can only be specified if the user is on a Windows pool. If not specified and on a Windows pool, the user is created with the default options.
    ElevationLevel string
    The elevation level of the user account. "NonAdmin" - The auto user is a standard user without elevated access. "Admin" - The auto user is a user with elevated access and operates with full Administrator permissions. The default value is nonAdmin.
    Name string
    The name of the user account.
    Password string
    The password for the user account.
    LinuxUserConfigurations []PoolUserAccountLinuxUserConfiguration
    The linux_user_configuration block defined below is a linux-specific user configuration for the user account. This property is ignored if specified on a Windows pool. If not specified, the user is created with the default options.
    WindowsUserConfigurations []PoolUserAccountWindowsUserConfiguration
    The windows_user_configuration block defined below is a windows-specific user configuration for the user account. This property can only be specified if the user is on a Windows pool. If not specified and on a Windows pool, the user is created with the default options.
    elevationLevel String
    The elevation level of the user account. "NonAdmin" - The auto user is a standard user without elevated access. "Admin" - The auto user is a user with elevated access and operates with full Administrator permissions. The default value is nonAdmin.
    name String
    The name of the user account.
    password String
    The password for the user account.
    linuxUserConfigurations List<PoolUserAccountLinuxUserConfiguration>
    The linux_user_configuration block defined below is a linux-specific user configuration for the user account. This property is ignored if specified on a Windows pool. If not specified, the user is created with the default options.
    windowsUserConfigurations List<PoolUserAccountWindowsUserConfiguration>
    The windows_user_configuration block defined below is a windows-specific user configuration for the user account. This property can only be specified if the user is on a Windows pool. If not specified and on a Windows pool, the user is created with the default options.
    elevationLevel string
    The elevation level of the user account. "NonAdmin" - The auto user is a standard user without elevated access. "Admin" - The auto user is a user with elevated access and operates with full Administrator permissions. The default value is nonAdmin.
    name string
    The name of the user account.
    password string
    The password for the user account.
    linuxUserConfigurations PoolUserAccountLinuxUserConfiguration[]
    The linux_user_configuration block defined below is a linux-specific user configuration for the user account. This property is ignored if specified on a Windows pool. If not specified, the user is created with the default options.
    windowsUserConfigurations PoolUserAccountWindowsUserConfiguration[]
    The windows_user_configuration block defined below is a windows-specific user configuration for the user account. This property can only be specified if the user is on a Windows pool. If not specified and on a Windows pool, the user is created with the default options.
    elevation_level str
    The elevation level of the user account. "NonAdmin" - The auto user is a standard user without elevated access. "Admin" - The auto user is a user with elevated access and operates with full Administrator permissions. The default value is nonAdmin.
    name str
    The name of the user account.
    password str
    The password for the user account.
    linux_user_configurations Sequence[PoolUserAccountLinuxUserConfiguration]
    The linux_user_configuration block defined below is a linux-specific user configuration for the user account. This property is ignored if specified on a Windows pool. If not specified, the user is created with the default options.
    windows_user_configurations Sequence[PoolUserAccountWindowsUserConfiguration]
    The windows_user_configuration block defined below is a windows-specific user configuration for the user account. This property can only be specified if the user is on a Windows pool. If not specified and on a Windows pool, the user is created with the default options.
    elevationLevel String
    The elevation level of the user account. "NonAdmin" - The auto user is a standard user without elevated access. "Admin" - The auto user is a user with elevated access and operates with full Administrator permissions. The default value is nonAdmin.
    name String
    The name of the user account.
    password String
    The password for the user account.
    linuxUserConfigurations List<Property Map>
    The linux_user_configuration block defined below is a linux-specific user configuration for the user account. This property is ignored if specified on a Windows pool. If not specified, the user is created with the default options.
    windowsUserConfigurations List<Property Map>
    The windows_user_configuration block defined below is a windows-specific user configuration for the user account. This property can only be specified if the user is on a Windows pool. If not specified and on a Windows pool, the user is created with the default options.

    PoolUserAccountLinuxUserConfiguration, PoolUserAccountLinuxUserConfigurationArgs

    Gid int
    The user ID of the user account. The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the uid.
    SshPrivateKey string
    The SSH private key for the user account. The private key must not be password protected. The private key is used to automatically configure asymmetric-key based authentication for SSH between nodes in a Linux pool when the pool's enableInterNodeCommunication property is true (it is ignored if enableInterNodeCommunication is false). It does this by placing the key pair into the user's .ssh directory. If not specified, password-less SSH is not configured between nodes (no modification of the user's .ssh directory is done).
    Uid int
    The group ID for the user account. The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the gid.
    Gid int
    The user ID of the user account. The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the uid.
    SshPrivateKey string
    The SSH private key for the user account. The private key must not be password protected. The private key is used to automatically configure asymmetric-key based authentication for SSH between nodes in a Linux pool when the pool's enableInterNodeCommunication property is true (it is ignored if enableInterNodeCommunication is false). It does this by placing the key pair into the user's .ssh directory. If not specified, password-less SSH is not configured between nodes (no modification of the user's .ssh directory is done).
    Uid int
    The group ID for the user account. The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the gid.
    gid Integer
    The user ID of the user account. The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the uid.
    sshPrivateKey String
    The SSH private key for the user account. The private key must not be password protected. The private key is used to automatically configure asymmetric-key based authentication for SSH between nodes in a Linux pool when the pool's enableInterNodeCommunication property is true (it is ignored if enableInterNodeCommunication is false). It does this by placing the key pair into the user's .ssh directory. If not specified, password-less SSH is not configured between nodes (no modification of the user's .ssh directory is done).
    uid Integer
    The group ID for the user account. The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the gid.
    gid number
    The user ID of the user account. The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the uid.
    sshPrivateKey string
    The SSH private key for the user account. The private key must not be password protected. The private key is used to automatically configure asymmetric-key based authentication for SSH between nodes in a Linux pool when the pool's enableInterNodeCommunication property is true (it is ignored if enableInterNodeCommunication is false). It does this by placing the key pair into the user's .ssh directory. If not specified, password-less SSH is not configured between nodes (no modification of the user's .ssh directory is done).
    uid number
    The group ID for the user account. The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the gid.
    gid int
    The user ID of the user account. The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the uid.
    ssh_private_key str
    The SSH private key for the user account. The private key must not be password protected. The private key is used to automatically configure asymmetric-key based authentication for SSH between nodes in a Linux pool when the pool's enableInterNodeCommunication property is true (it is ignored if enableInterNodeCommunication is false). It does this by placing the key pair into the user's .ssh directory. If not specified, password-less SSH is not configured between nodes (no modification of the user's .ssh directory is done).
    uid int
    The group ID for the user account. The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the gid.
    gid Number
    The user ID of the user account. The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the uid.
    sshPrivateKey String
    The SSH private key for the user account. The private key must not be password protected. The private key is used to automatically configure asymmetric-key based authentication for SSH between nodes in a Linux pool when the pool's enableInterNodeCommunication property is true (it is ignored if enableInterNodeCommunication is false). It does this by placing the key pair into the user's .ssh directory. If not specified, password-less SSH is not configured between nodes (no modification of the user's .ssh directory is done).
    uid Number
    The group ID for the user account. The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the gid.

    PoolUserAccountWindowsUserConfiguration, PoolUserAccountWindowsUserConfigurationArgs

    LoginMode string
    Specifies login mode for the user. The default value for VirtualMachineConfiguration pools is interactive mode and for CloudServiceConfiguration pools is batch mode. Values supported are "Batch" and "Interactive".
    LoginMode string
    Specifies login mode for the user. The default value for VirtualMachineConfiguration pools is interactive mode and for CloudServiceConfiguration pools is batch mode. Values supported are "Batch" and "Interactive".
    loginMode String
    Specifies login mode for the user. The default value for VirtualMachineConfiguration pools is interactive mode and for CloudServiceConfiguration pools is batch mode. Values supported are "Batch" and "Interactive".
    loginMode string
    Specifies login mode for the user. The default value for VirtualMachineConfiguration pools is interactive mode and for CloudServiceConfiguration pools is batch mode. Values supported are "Batch" and "Interactive".
    login_mode str
    Specifies login mode for the user. The default value for VirtualMachineConfiguration pools is interactive mode and for CloudServiceConfiguration pools is batch mode. Values supported are "Batch" and "Interactive".
    loginMode String
    Specifies login mode for the user. The default value for VirtualMachineConfiguration pools is interactive mode and for CloudServiceConfiguration pools is batch mode. Values supported are "Batch" and "Interactive".

    PoolWindow, PoolWindowArgs

    EnableAutomaticUpdates bool
    Whether automatic updates are enabled on the virtual machine. Defaults to true.
    EnableAutomaticUpdates bool
    Whether automatic updates are enabled on the virtual machine. Defaults to true.
    enableAutomaticUpdates Boolean
    Whether automatic updates are enabled on the virtual machine. Defaults to true.
    enableAutomaticUpdates boolean
    Whether automatic updates are enabled on the virtual machine. Defaults to true.
    enable_automatic_updates bool
    Whether automatic updates are enabled on the virtual machine. Defaults to true.
    enableAutomaticUpdates Boolean
    Whether automatic updates are enabled on the virtual machine. Defaults to true.

    Import

    Batch Pools can be imported using the resource id, e.g.

    $ pulumi import azure:batch/pool:Pool example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup1/providers/Microsoft.Batch/batchAccounts/myBatchAccount1/pools/myBatchPool1
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Azure Classic pulumi/pulumi-azure
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the azurerm Terraform Provider.
    azure logo

    We recommend using Azure Native.

    Azure Classic v5.80.0 published on Monday, Jun 10, 2024 by Pulumi