Bicep Module Documentation

← Back to Overview

Module managed-devops-pool

devopsPool

Property Value Description
general (required) general
identity identity Identity object
agentProfile (required) object
devCenterProjectResourceId (required) string
fabricProfile fabricProfile
maximumConcurrency (required) int Defines how many machines can there be created at any given time.
organizationProfile (required) object

identity

Property Value Description
type 'None'
'SystemAssigned'
'SystemAssigned, UserAssigned'
'UserAssigned'
The types of identities associated with this resource. (default: None)
userAssignedIdentities string[] The set resource IDs of the user assigned identities associated with the resource.

images

Property Value Description
aliases string[] List of aliases to reference the image by (default: ['ubuntu-24.04']).
buffer string The percentage of the buffer to be allocated to this image (default '*').
ephemeralType 'Automatic'
'CacheDisk'
'ResourceDisk'
resourceId string The resource id of the image, e.g. /Subscriptions//Providers/Microsoft.Compute/Locations/westeurope/Publishers/canonical/ArtifactTypes/VMImage/Offers/ubuntu-24_04-lts/Skus/server/versions/latest
wellKnownImageName string The image to use from a well-known set of images made available to customers (default: ubuntu-24.04/latest).

networkProfile

Property Value Description
subnetId (required) string The subnet id on which to put all machines created in the pool.

secretsManagementSettings

Property Value Description
certificateStoreLocation string Where to store certificates on the machine.
certificateStoreName 'My'
'Root'
Name of the certificate store to use on the machine, currently 'My' and 'Root' are supported.
keyExportable bool Defines if the key of the certificates should be exportable (default: false)
observedCertificates (required) string[] The list of certificates to install on all machines in the pool.

osProfile

Property Value Description
logonType 'Interactive'
'Service'
Determines how the service should be run (default: Service)
secretsManagementSettings secretsManagementSettings

sku

Property Value Description
name (required) string The Azure SKU name of the machines in the pool (default: Standard_D2ads_v5).

dataDisks

Property Value Description
caching 'None'
'ReadOnly'
'ReadWrite'
The type of caching to be enabled for the data disks (default: ReadWrite).
diskSizeGiB (required) int The initial disk size in gigabytes.
driveLetter string The drive letter for the empty data disk. If not specified, it will be the first available letter.
storageAccountType 'Premium_LRS'
'Premium_ZRS'
'StandardSSD_LRS'
'StandardSSD_ZRS'
'Standard_LRS'
The storage Account type to be used for the data disk (default: Standard_LRS)

storageProfile

Property Value Description
osDiskStorageAccountType 'Premium'
'Standard'
'StandardSSD'
The Azure SKU name of the machines in the pool (default: Standard).
dataDisks dataDisks[]

fabricProfile

Property Value Description
kind (required) 'Vmss'
images images[]
networkProfile networkProfile
osProfile osProfile
sku sku
storageProfile storageProfile

ResourcePredictionsProfileAutomatic

Property Value Description
kind (required) 'Automatic' Determines how the stand-by scheme should be provided.
predictionPreference 'Balanced'
'BestPerformance'
'MoreCostEffective'
'MorePerformance'
'MostCostEffective'
Determines the balance between cost and performance.

ResourcePredictionsProfileManual

Property Value Description
kind (required) 'Manual' Determines how the stand-by scheme should be provided.

daysDataType

Property Value Description
monday standbyAgentsConfigType The number of agents needed at a specific time for Monday.
tuesday standbyAgentsConfigType The number of agents needed at a specific time for Tuesday.
wednesday standbyAgentsConfigType The number of agents needed at a specific time for Wednesday.
thursday standbyAgentsConfigType The number of agents needed at a specific time for Thursday.
friday standbyAgentsConfigType The number of agents needed at a specific time for Friday.
saturday standbyAgentsConfigType The number of agents needed at a specific time for Saturday.
sunday standbyAgentsConfigType The number of agents needed at a specific time for Sunday.
allWeekScheme allWeekScheme A schema to apply to the entire week (Machines available 24/7). Overrules the daily configurations.

allWeekScheme

Property Value Description
provisioningCount (required) int Required. The agent count to provision throughout the week.

standbyAgentsConfigType

Property Value Description
startTime (required) string The time at which the agents are needed.
endTime (required) string The time at which the agents are no longer needed.
startAgentCount (required) int The number of agents needed at the start time.
endAgentCount (required) int The number of agents needed at the end time.

naming

Property Value Description
forceFunctionAsFullName bool Use the function value as the full name of the resource
abbreviation string Override the abbreviation of this resource with this parameter
environment string The resource environment (for example: dev, tst, acc, prd)
location string The resource location (for example: weu, we, westeurope)
customer string The name of the customer
delimiter string The delimiter between resources (default: -)
nameFormat Array containing any of:
'abbreviation'
'customer'
'environment'
'function'
'location'
'param1'
'param2'
'param3'
'useCaseName'
The order of the array defines the order of elements in the naming scheme
param1 string Extra parameter self defined
param2 string Extra parameter self defined
param3 string Extra parameter self defined
function (required) string Function of the resource [can be app, db, security,...]
useCaseName string Name of the use case [can be hub, spoke,...]
suffix string Suffix for the resource, if empty non will be appended, otherwise will be added to the end [can be index, ...]
forceDefaultNaming bool Force the CAF naming instead of default company naming

resourceLock

Property Value Description
name string Character limit: 1-90. Valid characters: Alphanumerics, periods, underscores, hyphens, and parenthesis. Can't end in period.
level (required) 'CanNotDelete'
'ReadOnly'
The level of the lock. Possible values are: CanNotDelete and ReadOnly. CanNotDelete means authorized users are able to read and modify the resources, but not delete. ReadOnly means authorized users can only read from a resource, but they can't modify or delete it. Read-Only locks must be commented to be able to deploy again
notes string Notes about the lock. Maximum of 512 characters.
owners resourceLockOwner[] The owners of the lock

resourceLockOwner

Property Value Description
applicationId (required) string The application ID of the lock owner.

roleAssignment

Property Value Description
principalId (required) string The principal ID
roleDefinitionId (required) string The role definition ID, data file can be used for this
condition string Condition on the role assignment
conditionVersion string Version of the condition. Currently the only accepted value is "2.0"
delegatedManagedIdentityResourceId string Id of the delegated managed identity resource
description string Description of role assignment

general

Property Value Description
tags object Tags of the resource [hashtable]
location (required) string Location of the resource
naming (required) naming Naming module of the resource
resourceGroupName (required) string Name of the resource group where the resource should be located
sharedNaming (required) naming Reference to the default naming
roleAssignments roleAssignment[] Role assignments on the resource
resourceLocks resourceLock[] Resource Locks on the resource

Changelog

1.1.0 (2025-10-06)

Features

  • update resource api version

1.0.1 (2025-09-24)

Bug Fixes

  • remove deployment name + cleanup

1.0.0 (2025-07-14)

Features

  • add initial version