Bicep Module Documentation

← Back to Overview

Module container-app-job

containerAppJob

Property Value Description
naming (required) naming
managedIdentityType 'None'
'SystemAssigned'
'SystemAssigned, UserAssigned'
'UserAssigned'
Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). (default: None)
managedIdentityId string User assigned managed identity id to access other resources
configuration (required) configuration Container Apps Job configuration properties.
template (required) template Container Apps job definition.
workloadProfileName string Workload profile name to pin for container apps job execution.

scale

Property Value Description
maxExecutions (required) int Maximum number of job executions that are created for a trigger, default 100.
minExecutions (required) int Minimum number of job executions that are created for a trigger, default 0
pollingInterval (required) int Interval to check each event source in seconds. Defaults to 30s
rules (required) containerAppJobScaleRule[] Scaling rules.

eventTriggerConfig

Property Value Description
parallelism int Number of parallel replicas of a job that can run at a given time.
replicaCompletionCount int Minimum number of successful replica completions before overall job completion.
scale (required) scale Scaling configurations for event driven jobs.

manualTriggerConfig

Property Value Description
parallelism int Number of parallel replicas of a job that can run at a given time.
replicaCompletionCount int Minimum number of successful replica completions before overall job completion.

scheduleTriggerConfig

Property Value Description
cronExpression (required) string Cron formatted repeating schedule (* * * * *) of a Cron Job.
parallelism int Number of parallel replicas of a job that can run at a given time.
replicaCompletionCount int Minimum number of successful replica completions before overall job completion.

configuration

Property Value Description
eventTriggerConfig eventTriggerConfig Trigger configuration of an event driven job.
manualTriggerConfig manualTriggerConfig Manual trigger configuration for a single execution job. Properties replicaCompletionCount and parallelism would be set to 1 by default
registries containerAppJobRegistryCredentials[] Collection of private container registry credentials used by a Container apps job
replicaRetryLimit int Maximum number of retries before failing the job.
replicaTimeout (required) int Maximum number of seconds a replica is allowed to run.
scheduleTriggerConfig scheduleTriggerConfig Cron formatted repeating trigger schedule (* * * * *) for cronjobs. Properties completions and parallelism would be set to 1 by default
secrets containerAppJobRegistryCredentialsSecret[] Collection of secrets used by a Container Apps Job
triggerType (required) 'Event'
'Manual'
'Schedule'
Trigger type of the job

template

Property Value Description
containers (required) containerAppJobTemplateContainer[] List of container definitions for the Container App.
initContainers containerAppTemplateInitContainer[] List of specialized containers that run before app containers.
volumes containerAppTemplateVolume[] List of volume definitions for the Container App.

containerAppJobScaleRule

Property Value Description
auth (required) containerAppJobScaleRuleAuth[] Authentication secrets for the scale rule.
metadata string Metadata properties to describe the scale rule.
name (required) string Scale Rule Name
type (required) string Type of the scale rule eg: azure-servicebus, redis etc.

containerAppJobScaleRuleAuth

Property Value Description
secretRef string Name of the secret from which to pull the auth params.
triggerParameter (required) string Trigger Parameter that uses the secret

containerAppJobRegistryCredentials

Property Value Description
identity string A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned identities, use the full user-assigned identity Resource ID. For system-assigned identities, use system
passwordSecretRef string The name of the Secret that contains the registry login password
server (required) string Container Registry Server
username string Container Registry Username

containerAppJobRegistryCredentialsSecret

Property Value Description
identity string Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a system-assigned identity.
keyVaultUrl string Azure Key Vault URL pointing to the secret referenced by the container app.
name (required) string Secret Name.
value string Secret Value.

containerAppJobTemplateContainer

Property Value Description
args string[] Container start command arguments.
command string[] Container start command.
env containerAppJobTemplateContainerEnvironmentVar[] Container environment variables.
image (required) string Container image tag.
name string Custom container name.
probes containerAppJobTemplateContainerContainerAppProbe[] List of probes for the container.
resources containerAppResources Container resource requirements.
volumeMounts containerAppVolumeMount[] Container volume mounts.

containerAppJobTemplateContainerEnvironmentVar

Property Value Description
name (required) string Environment variable name.
secretRef string Name of the Container App secret from which to pull the environment variable value.
value string Non-secret environment variable value.

containerAppJobTemplateContainerContainerAppProbe

Property Value Description
failureThreshold int Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. Maximum value is 10.
httpGet (required) containerAppProbeHttpGet HTTPGet specifies the http request to perform.
initialDelaySeconds (required) int Number of seconds after the container has started before liveness probes are initiated. Minimum value is 1. Maximum value is 60.
periodSeconds int How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is 240.
successThreshold int Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. Maximum value is 10.
tcpSocket (required) containerAppProbeTcpSocket TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported.
terminationGracePeriodSeconds (required) int Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pods terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 hour)
timeoutSeconds int Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 240.
type (required) 'Liveness'
'Readiness'
'Startup'
The type of probe.

containerAppProbeHttpGetHttpHeadersItem

Property Value Description
name (required) string The header field name.
value (required) string The header field value.

containerAppTemplateInitContainerEnvironmentVar

Property Value Description
name (required) string Environment variable name.
secretRef string Name of the Container App secret from which to pull the environment variable value.
value string Non-secret environment variable value.

containerAppTemplateVolumeSecretVolumeItem

Property Value Description
path (required) string Path to project secret to. If no path is provided, path defaults to name of secret listed in secretRef.
secretRef string Name of the Container App secret from which to pull the secret value.

containerAppProbeHttpGet

Property Value Description
host string Host name to connect to, defaults to the pod IP. You probably want to set Host in httpHeaders instead.
httpHeaders containerAppProbeHttpGetHttpHeadersItem[] Custom headers to set in the request. HTTP allows repeated headers.
path string Path to access on the HTTP server.
port (required) int Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
scheme 'HTTP'
'HTTPS'
Scheme to use for connecting to the host. (default: HTTP)

containerAppProbeTcpSocket

Property Value Description
host string Optional: Host name to connect to, defaults to the pod IP.
port (required) int Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.

containerAppResources

Property Value Description
cpu (required) string Required CPU in cores, e.g. 0.5 To specify a decimal value, use the json() function.
memory string Required memory, e.g. "250Mb"

containerAppTemplateInitContainer

Property Value Description
args (required) string[] Container start command arguments.
command (required) string[] Container start command.
env (required) containerAppTemplateInitContainerEnvironmentVar[] Container environment variables.
image (required) string Container image tag.
name (required) string Custom container name.
resources (required) containerAppResources Container resource requirements.
volumeMounts containerAppVolumeMount[] Container volume mounts.

containerAppTemplateVolume

Property Value Description
name (required) string Volume name.
secrets containerAppTemplateVolumeSecretVolumeItem[] List of secrets to be added in volume. If no secrets are provided, all secrets in collection will be added to volume.
storageName (required) string Name of storage resource. No need to provide for EmptyDir and Secret.
storageType 'AzureFile'
'EmptyDir'
'Secret'
Storage type for the volume. If not provided, use EmptyDir.
mountOptions string Mount options used while mounting the AzureFile. Must be a comma-separated string.

containerAppVolumeMount

Property Value Description
mountPath (required) string Path within the container at which the volume should be mounted.Must not contain ':'.
subPath string Path within the volume from which the containers volume should be mounted. Defaults to " "(volumes root).
volumeName (required) string This must match the Name of a Volume.

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

Changelog

1.3.1 (2025-12-03)

Bug Fixes

  • correct resourceName output

1.3.0 (2025-10-07)

Features

  • update resource api version
  • update resource api versions

1.2.2 (2025-09-24)

Bug Fixes

  • remove deployment name + cleanup

1.2.1 (2025-04-29)

Bug Fixes

  • resolve issue where secretRef is not useable for environment variables

1.2.0 (2025-03-26)

Features

  • add resourceName output

1.1.2 (2025-03-26)

Bug Fixes

  • slacken required parameters and update api version

1.1.1 (2025-03-25)

Bug Fixes

  • container(app) location determination

1.1.0 (2025-03-25)

Features

  • add output principalId

1.0.0 (2025-03-19)

⚠ BREAKING CHANGES

  • remove role-assignment principalType parameter

Features

  • remove role-assignment principalType parameter

Bug Fixes

  • move user-defined types to respective container-apps modules