Schema URL

Type: object

Configuration file for the Azure Developer CLI (azd)

Properties

name string required

The application name. Only lowercase letters, numbers, and hyphens (-) are allowed. The name must start and end with a letter or number.

minLength=2pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
resourceGroup string

When specified will override the resource group name used for infrastructure provisioning. Supports environment variable substitution.

minLength=3maxLength=64
metadata object
1 nested properties
template string
Examples: "[email protected]"
infra object

Optional. Provides additional configuration for Azure infrastructure provisioning.

All of: variant
4 nested properties
provider string

Optional. The infrastructure provisioning provider used to provision the Azure resources for the application. (Default: bicep)

Values: "bicep" "terraform"
path string

Optional. The relative folder path to the Azure provisioning templates for the specified provider. (Default: infra)

module string

Optional. The name of the Azure provisioning module used when provisioning resources. (Default: main)

layers object[]

Optional. Layers for Azure infrastructure provisioning.

uniqueItems=true
services Record<string, object>
resources Record<string, object>
pipeline object
3 nested properties
provider string

Optional. The pipeline provider to be used for continuous integration. (Default: github)

Values: "github" "azdo"
variables string[]

If variable is found on azd environment, it is set as a variable for the pipeline.

secrets string[]

If variable is found on azd environment, it is set as a secret for the pipeline.

hooks object

Hooks should match azd command names prefixed with pre or post depending on when the script should execute. When specifying paths they should be relative to the project path.

18 nested properties
preprovision hook | object[]
postprovision hook | object[]
preinfracreate hook | object[]
postinfracreate hook | object[]
preinfradelete hook | object[]
postinfradelete hook | object[]
predown hook | object[]
postdown hook | object[]
preup hook | object[]
postup hook | object[]
prepackage hook | object[]
postpackage hook | object[]
prepublish hook | object[]
postpublish hook | object[]
predeploy hook | object[]
postdeploy hook | object[]
prerestore hook | object[]
postrestore hook | object[]
requiredVersions object

Optional. Provides additional configuration for required versions of azd and extensions.

2 nested properties
azd string

A range of supported versions of azd for this project. If the version of azd is outside this range, the project will fail to load. Optional (allows all versions if absent).

Examples: ">= 0.6.0-beta.3"
extensions Record<string, string>

A map of required extensions and version constraints for this project. Supports semver constraints. If version is omitted the latest version will be installed.

state object

Optional. Provides additional configuration for state management.

1 nested properties
remote object

Optional. Provides additional configuration for remote state management such as Azure Blob Storage.

All of: variant
2 nested properties
backend string required

Optional. The remote state backend type. (Default: AzureBlobStorage)

Default: "AzureBlobStorage"
Values: "AzureBlobStorage"
config object
platform object

Optional. Provides additional configuration for platform specific features such as Azure Dev Center.

All of: variant
2 nested properties
type string required

Required. The platform type. (Example: devcenter)

Values: "devcenter"
config object
workflows object

Optional. Provides additional configuration for workflows such as override azd up behavior.

1 nested properties
up object | object[]
cloud object

Optional. Provides additional configuration for deploying to sovereign clouds such as Azure Government. The default cloud is AzureCloud.

1 nested properties
name enum
Values: "AzureCloud" "AzureChinaCloud" "AzureUSGovernment"

Definitions

hooks hook | object[]
hook object
shell string

Optional. The type of shell to use for the hook. (Default: sh)

Default: "sh"
Values: "sh" "pwsh"
run string

When specifying an inline script you also must specify the shell to use. This is automatically inferred when using paths.

continueOnError boolean

Optional. When set to true will continue to run the command even after a script error has occurred. (Default: false)

Default: false
interactive boolean

Optional. When set to true will bind the script to stdin, stdout & stderr of the running console. (Default: false)

Default: false
windows object
All of: variant, variant
7 nested properties
shell string

Optional. The type of shell to use for the hook. (Default: sh)

Default: "sh"
Values: "sh" "pwsh"
run string

When specifying an inline script you also must specify the shell to use. This is automatically inferred when using paths.

continueOnError boolean

Optional. When set to true will continue to run the command even after a script error has occurred. (Default: false)

Default: false
interactive boolean

Optional. When set to true will bind the script to stdin, stdout & stderr of the running console. (Default: false)

Default: false
windows object
All of: variant, variant
7 nested properties
shell string

Optional. The type of shell to use for the hook. (Default: sh)

Default: "sh"
Values: "sh" "pwsh"
run string

When specifying an inline script you also must specify the shell to use. This is automatically inferred when using paths.

continueOnError boolean

Optional. When set to true will continue to run the command even after a script error has occurred. (Default: false)

Default: false
interactive boolean

Optional. When set to true will bind the script to stdin, stdout & stderr of the running console. (Default: false)

Default: false
windows object
All of: variant, variant
posix object
All of: variant, variant
secrets Record<string, string>

If variable was set as a secret in the environment, the secret value will be passed to the hook.

Examples: {"WITH_SECRET_VALUE":"ENV_VAR_WITH_SECRET"}
posix object
All of: variant, variant
7 nested properties
shell string

Optional. The type of shell to use for the hook. (Default: sh)

Default: "sh"
Values: "sh" "pwsh"
run string

When specifying an inline script you also must specify the shell to use. This is automatically inferred when using paths.

continueOnError boolean

Optional. When set to true will continue to run the command even after a script error has occurred. (Default: false)

Default: false
interactive boolean

Optional. When set to true will bind the script to stdin, stdout & stderr of the running console. (Default: false)

Default: false
windows object
All of: variant, variant
posix object
All of: variant, variant
secrets Record<string, string>

If variable was set as a secret in the environment, the secret value will be passed to the hook.

Examples: {"WITH_SECRET_VALUE":"ENV_VAR_WITH_SECRET"}
secrets Record<string, string>

If variable was set as a secret in the environment, the secret value will be passed to the hook.

Examples: {"WITH_SECRET_VALUE":"ENV_VAR_WITH_SECRET"}
posix object
All of: variant, variant
7 nested properties
shell string

Optional. The type of shell to use for the hook. (Default: sh)

Default: "sh"
Values: "sh" "pwsh"
run string

When specifying an inline script you also must specify the shell to use. This is automatically inferred when using paths.

continueOnError boolean

Optional. When set to true will continue to run the command even after a script error has occurred. (Default: false)

Default: false
interactive boolean

Optional. When set to true will bind the script to stdin, stdout & stderr of the running console. (Default: false)

Default: false
windows object
All of: variant, variant
7 nested properties
shell string

Optional. The type of shell to use for the hook. (Default: sh)

Default: "sh"
Values: "sh" "pwsh"
run string

When specifying an inline script you also must specify the shell to use. This is automatically inferred when using paths.

continueOnError boolean

Optional. When set to true will continue to run the command even after a script error has occurred. (Default: false)

Default: false
interactive boolean

Optional. When set to true will bind the script to stdin, stdout & stderr of the running console. (Default: false)

Default: false
windows object
All of: variant, variant
posix object
All of: variant, variant
secrets Record<string, string>

If variable was set as a secret in the environment, the secret value will be passed to the hook.

Examples: {"WITH_SECRET_VALUE":"ENV_VAR_WITH_SECRET"}
posix object
All of: variant, variant
7 nested properties
shell string

Optional. The type of shell to use for the hook. (Default: sh)

Default: "sh"
Values: "sh" "pwsh"
run string

When specifying an inline script you also must specify the shell to use. This is automatically inferred when using paths.

continueOnError boolean

Optional. When set to true will continue to run the command even after a script error has occurred. (Default: false)

Default: false
interactive boolean

Optional. When set to true will bind the script to stdin, stdout & stderr of the running console. (Default: false)

Default: false
windows object
All of: variant, variant
posix object
All of: variant, variant
secrets Record<string, string>

If variable was set as a secret in the environment, the secret value will be passed to the hook.

Examples: {"WITH_SECRET_VALUE":"ENV_VAR_WITH_SECRET"}
secrets Record<string, string>

If variable was set as a secret in the environment, the secret value will be passed to the hook.

Examples: {"WITH_SECRET_VALUE":"ENV_VAR_WITH_SECRET"}
secrets Record<string, string>

If variable was set as a secret in the environment, the secret value will be passed to the hook.

Examples: {"WITH_SECRET_VALUE":"ENV_VAR_WITH_SECRET"}
docker object

This is only applicable for hosts that support containers

path string

Path to the Dockerfile is relative to your service

Default: "./Dockerfile"
context string

When specified overrides the default context

Default: "."
platform string
Default: "amd64"
registry string

If omitted, will default to value of AZURE_CONTAINER_REGISTRY_ENDPOINT environment variable. Supports environment variable substitution.

image string

If omitted, will default to the '{appName}/{serviceName}-{environmentName}'. Supports environment variable substitution.

tag string

If omitted, will default to 'azd-deploy-{unix time (seconds)}'. Supports environment variable substitution. For example, to generate unique tags for a given release: myapp/myimage:${DOCKER_IMAGE_TAG}

buildArgs string[]

Build arguments to pass to the docker build command.

network string

Sets the networking mode for RUN instructions during build. Passed as --network to docker build. For example, use 'host' to allow the build container to access the host network.

remoteBuild boolean

If set to true, the image will be built remotely using the Azure Container Registry remote build feature. If the remote build fails, azd automatically falls back to building locally using Docker or Podman if available. If set to false, the image will be built locally.

aksOptions object
deploymentPath string

When set it will override the default deployment path location for k8s deployment manifests.

Default: "manifests"
namespace string

When specified a new k8s namespace will be created if it does not already exist

deployment object
1 nested properties
name string

Used during deployment to ensure if the k8s deployment rollout has been completed. If not set will search for a deployment resource in the same namespace that contains the service name.

service object
1 nested properties
name string

Used when determining endpoints for the default service resource. If not set will search for a deployment resource in the same namespace that contains the service name.

ingress object
2 nested properties
name string

Used when determining endpoints for the default ingress resource. If not set will search for a deployment resource in the same namespace that contains the service name.

relativePath string

When set will be appended to the root of your ingress resource path.

helm object
2 nested properties
repositories object[]

When set will add the helm repositories to the helm client.

minItems=1
releases object[]

When set will install the helm releases to the k8s cluster.

minItems=1
kustomize object
3 nested properties
dir string

When set will use the kustomize directory to deploy to the k8s cluster. Supports environment variable substitution.

edits string[]

When set will apply the edits to the kustomize directory before deployment. Supports environment variable substitution.

env Record<string, string | boolean | number>

When set will generate a .env file in the kustomize directory. Values support environment variable substitution.

azureBlobStorageConfig object

Optional. Provides additional configuration for remote state management such as Azure Blob Storage.

accountName string required

Required. The Azure Storage account name.

containerName string

Optional. The Azure Storage container name. Defaults to project name if not specified.

endpoint string

Optional. The Azure Storage endpoint. (Default: blob.core.windows.net)

azureDevCenterConfig object

Optional. Provides additional project configuration for Azure Dev Center integration.

name string

Optional. Used as the default dev center for this project.

project string

Optional. Used as the default dev center project for this project.

catalog string

Optional. Used as the default dev center catalog for this project.

environmentDefinition string

Optional. Used as the default dev center environment definition for this project.

environmentType string

Optional. Used as the default environment type for this project.

workflow object | object[]
workflowStep
azd string | object
azdCommand string | object
aiComponentConfig object
path string required

Required. The path to the AI component configuration file or path to the AI component source code.

name string

Optional. When omitted azd will generate a name based on the component type and the service name. Supports environment variable substitution.

overrides Record<string, string>

Optional. Supports environment variable substitution.

aiDeploymentConfig
aiEndpointConfig object
deployment required
All of: aiComponentConfig object, object object
workspace string

Optional. When omitted azd will use the value specified in the 'AZUREAI_PROJECT_NAME' environment variable. Supports environment variable substitution.

flow object
3 nested properties
path string required

Required. The path to the AI component configuration file or path to the AI component source code.

name string

Optional. When omitted azd will generate a name based on the component type and the service name. Supports environment variable substitution.

overrides Record<string, string>

Optional. Supports environment variable substitution.

environment object
3 nested properties
path string required

Required. The path to the AI component configuration file or path to the AI component source code.

name string

Optional. When omitted azd will generate a name based on the component type and the service name. Supports environment variable substitution.

overrides Record<string, string>

Optional. Supports environment variable substitution.

model object
3 nested properties
path string required

Required. The path to the AI component configuration file or path to the AI component source code.

name string

Optional. When omitted azd will generate a name based on the component type and the service name. Supports environment variable substitution.

overrides Record<string, string>

Optional. Supports environment variable substitution.

appServiceResource object

An Azure App Service web app.

port integer required

Optional. The port that the web app listens on. (Default: 80)

runtime object required

Required. The language runtime configuration for the App Service web app.

2 nested properties
stack string required

Required. The language runtime stack.

Values: "node" "python"
version string required

Required. The language runtime version. Format varies by stack. (Example: '22-lts' for Node, '3.13' for Python)

type string
Constant: "host.appservice"
uses string[]
uniqueItems=true
env object[]
startupCommand string

Optional. Startup command that will be run as part of web app startup.

containerAppResource object

A Docker-based container app.

port integer required

Optional. The port that the container app listens on. (Default: 80)

type string
Constant: "host.containerapp"
uses string[]
uniqueItems=true
env object[]
aiModelResource object

A deployed, ready-to-use AI model.

type string
Constant: "ai.openai.model"
existing boolean

Optional. When set to true, this resource will not be created and instead be used for referencing purposes. (Default: false)

Default: false
model object

The underlying AI model.

2 nested properties
name string required

Required. The name of the AI model.

version string required

Required. The version of the AI model.

aiProjectResource object

A Microsoft Foundry project with models.

type string
Constant: "ai.project"
existing boolean

Optional. When set to true, this resource will not be created and instead be used for referencing purposes. (Default: false)

Default: false
models object[]

Optional. The AI models to be deployed as part of the AI project.

minItems=1
aiSearchResource object
type string
Constant: "ai.search"
existing boolean

Optional. When set to true, this resource will not be created and instead be used for referencing purposes. (Default: false)

Default: false
genericDbResource object
type string

The type of resource to be created. (Example: db.postgres)

Values: "db.postgres" "db.redis" "db.mysql" "db.mongo"
cosmosDbResource object

A deployed, ready-to-use Azure Cosmos DB for NoSQL database.

type string
Constant: "db.cosmos"
containers object[]

Containers to be created to store data. Each container stores a collection of items.

eventHubsResource object

An Azure Event Hubs namespace.

type string
Constant: "messaging.eventhubs"
existing boolean

Optional. When set to true, this resource will not be created and instead be used for referencing purposes. (Default: false)

Default: false
hubs string[]
uniqueItems=true
serviceBusResource object

An Azure Service Bus namespace.

type string
Constant: "messaging.servicebus"
existing boolean

Optional. When set to true, this resource will not be created and instead be used for referencing purposes. (Default: false)

Default: false
queues string[]
uniqueItems=true
topics string[]
uniqueItems=true
storageAccountResource object

A deployed, ready-to-use Azure Storage Account.

type string
Constant: "storage"
existing boolean

Optional. When set to true, this resource will not be created and instead be used for referencing purposes. (Default: false)

Default: false
containers string[]

The container names of Azure Storage Account.

keyVaultResource object
type string
Constant: "keyvault"
existing boolean

Optional. When set to true, this resource will not be created and instead be used for referencing purposes. (Default: false)

Default: false