import { Expressionable, ResourceDefinition } from 'arm-templator'; export interface ApplicationPackageProperties { } export interface ApplicationPackageReference { id: Expressionable; version?: Expressionable; } export interface ApplicationProperties { allowUpdates?: Expressionable; defaultVersion?: Expressionable; displayName?: Expressionable; } export interface AutoScaleSettings { evaluationInterval?: Expressionable; formula: Expressionable; } export interface AutoStorageBaseProperties { storageAccountId: Expressionable; } export interface AutoUserSpecification { elevationLevel?: Expressionable<('NonAdmin' | 'Admin')>; scope?: Expressionable<('Task' | 'Pool')>; } export interface AzureBlobFileSystemConfiguration { accountKey?: Expressionable; accountName: Expressionable; blobfuseOptions?: Expressionable; containerName: Expressionable; relativeMountPath: Expressionable; sasKey?: Expressionable; } export interface AzureFileShareConfiguration { accountKey: Expressionable; accountName: Expressionable; azureFileUrl: Expressionable; mountOptions?: Expressionable; relativeMountPath: Expressionable; } export interface BatchAccountCreateProperties { autoStorage?: Expressionable; keyVaultReference?: Expressionable; poolAllocationMode?: Expressionable<('BatchService' | 'UserSubscription')>; } export interface CertificateCreateOrUpdateProperties { data: Expressionable; format?: Expressionable<('Pfx' | 'Cer')>; password?: Expressionable; thumbprint?: Expressionable; thumbprintAlgorithm?: Expressionable; } export interface CertificateReference { id: Expressionable; storeLocation?: Expressionable<('CurrentUser' | 'LocalMachine')>; storeName?: Expressionable; visibility?: Expressionable<('StartTask' | 'Task' | 'RemoteUser')[]>; } export interface CIFSMountConfiguration { mountOptions?: Expressionable; password: Expressionable; relativeMountPath: Expressionable; source: Expressionable; username: Expressionable; } export interface CloudServiceConfiguration { osFamily: Expressionable; osVersion?: Expressionable; } export interface ContainerConfiguration { containerImageNames?: Expressionable; containerRegistries?: Expressionable; type: Expressionable<('DockerCompatible')>; } export interface ContainerRegistry { password: Expressionable; registryServer?: Expressionable; username: Expressionable; } export interface DataDisk { caching?: Expressionable<('None' | 'ReadOnly' | 'ReadWrite')>; diskSizeGB: Expressionable; lun: Expressionable; storageAccountType?: Expressionable<('Standard_LRS' | 'Premium_LRS')>; } export interface DeploymentConfiguration { cloudServiceConfiguration?: Expressionable; virtualMachineConfiguration?: Expressionable; } export interface EnvironmentSetting { name: Expressionable; value?: Expressionable; } export interface FixedScaleSettings { nodeDeallocationOption?: Expressionable<('Requeue' | 'Terminate' | 'TaskCompletion' | 'RetainedData')>; resizeTimeout?: Expressionable; targetDedicatedNodes?: Expressionable; targetLowPriorityNodes?: Expressionable; } export interface ImageReference { id?: Expressionable; offer?: Expressionable; publisher?: Expressionable; sku?: Expressionable; version?: Expressionable; } export interface InboundNatPool { backendPort: Expressionable; frontendPortRangeEnd: Expressionable; frontendPortRangeStart: Expressionable; name: Expressionable; networkSecurityGroupRules?: Expressionable; protocol: Expressionable<('TCP' | 'UDP')>; } export interface KeyVaultReference { id: Expressionable; url: Expressionable; } export interface LinuxUserConfiguration { gid?: Expressionable; sshPrivateKey?: Expressionable; uid?: Expressionable; } export interface MetadataItem { name: Expressionable; value: Expressionable; } export interface MountConfiguration { azureBlobFileSystemConfiguration?: Expressionable; azureFileShareConfiguration?: Expressionable; cifsMountConfiguration?: Expressionable; nfsMountConfiguration?: Expressionable; } export interface NetworkConfiguration { endpointConfiguration?: Expressionable; publicIPs?: Expressionable; subnetId?: Expressionable; } export interface NetworkSecurityGroupRule { access: Expressionable<('Allow' | 'Deny')>; priority: Expressionable; sourceAddressPrefix: Expressionable; sourcePortRanges?: Expressionable; } export interface NFSMountConfiguration { mountOptions?: Expressionable; relativeMountPath: Expressionable; source: Expressionable; } export interface PoolEndpointConfiguration { inboundNatPools: Expressionable; } export interface PoolProperties { applicationLicenses?: Expressionable; applicationPackages?: Expressionable; certificates?: Expressionable; deploymentConfiguration?: Expressionable; displayName?: Expressionable; interNodeCommunication?: Expressionable<('Enabled' | 'Disabled')>; maxTasksPerNode?: Expressionable; metadata?: Expressionable; mountConfiguration?: Expressionable; networkConfiguration?: Expressionable; scaleSettings?: Expressionable; startTask?: Expressionable; taskSchedulingPolicy?: Expressionable; userAccounts?: Expressionable; vmSize?: Expressionable; } export interface ResourceFile { autoStorageContainerName?: Expressionable; blobPrefix?: Expressionable; fileMode?: Expressionable; filePath?: Expressionable; httpUrl?: Expressionable; storageContainerUrl?: Expressionable; } export interface ScaleSettings { autoScale?: Expressionable; fixedScale?: Expressionable; } export interface StartTask { commandLine?: Expressionable; containerSettings?: Expressionable; environmentSettings?: Expressionable; maxTaskRetryCount?: Expressionable; resourceFiles?: Expressionable; userIdentity?: Expressionable; waitForSuccess?: Expressionable; } export interface TaskContainerSettings { containerRunOptions?: Expressionable; imageName: Expressionable; registry?: Expressionable; workingDirectory?: Expressionable<('TaskWorkingDirectory' | 'ContainerImageDefault')>; } export interface TaskSchedulingPolicy { nodeFillType: Expressionable<('Spread' | 'Pack')>; } export interface UserAccount { elevationLevel?: Expressionable<('NonAdmin' | 'Admin')>; linuxUserConfiguration?: Expressionable; name: Expressionable; password: Expressionable; windowsUserConfiguration?: Expressionable; } export interface UserIdentity { autoUser?: Expressionable; userName?: Expressionable; } export interface VirtualMachineConfiguration { containerConfiguration?: Expressionable; dataDisks?: Expressionable; imageReference: Expressionable; licenseType?: Expressionable; nodeAgentSkuId: Expressionable; windowsConfiguration?: Expressionable; } export interface WindowsConfiguration { enableAutomaticUpdates?: Expressionable; } export interface WindowsUserConfiguration { loginMode?: Expressionable<('Batch' | 'Interactive')>; } export declare namespace batchAccounts { interface AdditionalProps { tags?: Expressionable; } type BatchAccountsResource = ResourceDefinition; function create(name: Expressionable, properties: BatchAccountCreateProperties, location: Expressionable, tags?: Expressionable): BatchAccountsResource; } export declare namespace batchAccounts { namespace applications { type ApplicationsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: ApplicationProperties): ApplicationsResource; } } export declare namespace batchAccounts { namespace applications { namespace versions { type VersionsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable], properties: ApplicationPackageProperties): VersionsResource; } } } export declare namespace batchAccounts { namespace certificates { type CertificatesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: CertificateCreateOrUpdateProperties): CertificatesResource; } } export declare namespace batchAccounts { namespace pools { type PoolsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: PoolProperties): PoolsResource; } }