From 6b38cbd70c08fb8a46c01334ce5045b0769a68e1 Mon Sep 17 00:00:00 2001 From: Henrik Jess Nielsen Date: Sun, 10 May 2026 13:40:48 +0200 Subject: [PATCH] feat: bake bicep catalog into image; fix dict-based modules parsing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove all DevOpsMCP/aiohttp runtime deps from BicepModuleCatalog - BicepModuleCatalog.load() reads bicep_modules_catalog.json from disk at startup (sync) - Fix _load_catalog: catalog uses dict {path: {versions, schema}} not a list - server.py: call BicepModuleCatalog.load() synchronously, not via asyncio.gather - Dockerfile: COPY bicep_modules_catalog.json into both builder + runtime stages - Health endpoint now reports bicep_modules: 27 Verified locally: make run-quick → health returns pypi_packages:40 bicep_modules:27 --- Dockerfile | 2 + bicep_modules_catalog.json | 12584 +++++++++++++++++++++++++++++++++++ ilsp/bicep_lsp/modules.py | 109 +- ilsp/server.py | 58 +- 4 files changed, 12658 insertions(+), 95 deletions(-) create mode 100644 bicep_modules_catalog.json diff --git a/Dockerfile b/Dockerfile index 23e7fff..da54ca8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,6 +19,7 @@ FROM python:3.12-slim AS builder WORKDIR /build COPY pyproject.toml . COPY ilsp/ ilsp/ +COPY bicep_modules_catalog.json . RUN pip install --upgrade pip build \ && python -m build --wheel --outdir /dist @@ -40,6 +41,7 @@ COPY --from=bicep-downloader /opt/bicep-langserver /opt/bicep-langserver # Install Python package and dependencies COPY --from=builder /dist/*.whl /tmp/ +COPY --from=builder /build/bicep_modules_catalog.json /bicep_modules_catalog.json RUN pip3 install --no-cache-dir --break-system-packages /tmp/*.whl && rm /tmp/*.whl # Configuration defaults (override via Nomad env) diff --git a/bicep_modules_catalog.json b/bicep_modules_catalog.json new file mode 100644 index 0000000..0ca5048 --- /dev/null +++ b/bicep_modules_catalog.json @@ -0,0 +1,12584 @@ +{ + "registry": "iactemplatereg.azurecr.io", + "synced_at": "2026-04-17T21:32:47Z", + "module_count": 27, + "modules": { + "bicep/lookup/environmentparameters": { + "all_tags": [ + "2.0.0", + "2.0.x", + "2.1.0", + "2.1.x", + "2.2.0", + "2.2.x", + "2.x", + "latest", + "preview" + ], + "versions": [ + "2.0.0", + "2.0.x", + "2.1.0", + "2.1.x", + "2.2.0", + "2.2.x", + "2.x", + "latest" + ], + "schema": { + "2.0.0": { + "parameters": {}, + "outputs": {} + }, + "2.0.x": { + "parameters": {}, + "outputs": {} + }, + "2.1.0": { + "parameters": {}, + "outputs": {} + }, + "2.1.x": { + "parameters": {}, + "outputs": {} + }, + "2.2.0": { + "parameters": {}, + "outputs": {} + }, + "2.2.x": { + "parameters": {}, + "outputs": {} + }, + "2.x": { + "parameters": {}, + "outputs": {} + }, + "latest": { + "parameters": {}, + "outputs": {} + } + } + }, + "bicep/lookup/networkipplan": { + "all_tags": [ + "2.0.0", + "2.0.x", + "2.x", + "latest", + "preview" + ], + "versions": [ + "2.0.0", + "2.0.x", + "2.x", + "latest" + ], + "schema": { + "2.0.0": { + "parameters": {}, + "outputs": {} + }, + "2.0.x": { + "parameters": {}, + "outputs": {} + }, + "2.x": { + "parameters": {}, + "outputs": {} + }, + "latest": { + "parameters": {}, + "outputs": {} + } + } + }, + "bicep/lookup/rbaclookup": { + "all_tags": [ + "2.0.0", + "2.0.x", + "2.x", + "latest", + "preview" + ], + "versions": [ + "2.0.0", + "2.0.x", + "2.x", + "latest" + ], + "schema": { + "2.0.0": { + "parameters": {}, + "outputs": {} + }, + "2.0.x": { + "parameters": {}, + "outputs": {} + }, + "2.x": { + "parameters": {}, + "outputs": {} + }, + "latest": { + "parameters": {}, + "outputs": {} + } + } + }, + "bicep/modules/appinsights": { + "all_tags": [ + "1.0.0", + "1.0.x", + "1.x", + "2.0.0", + "2.0.x", + "2.1.0", + "2.1.x", + "2.x", + "2022-06-20", + "2022-08-02", + "2022-09-06", + "2022-11-01", + "2023-07-07", + "2024-03-19", + "latest", + "preview" + ], + "versions": [ + "1.0.0", + "1.0.x", + "1.x", + "2.0.0", + "2.0.x", + "2.1.0", + "2.1.x", + "2.x", + "latest" + ], + "schema": { + "1.0.0": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the Application Insights." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "WorkspaceResourceId": { + "type": "string", + "description": "WorkspaceResourceId." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "instrumentationKey": "string", + "connectionString": "string" + } + }, + "1.0.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the Application Insights." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "WorkspaceResourceId": { + "type": "string", + "description": "WorkspaceResourceId." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "instrumentationKey": "string", + "connectionString": "string" + } + }, + "1.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the Application Insights." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "WorkspaceResourceId": { + "type": "string", + "description": "WorkspaceResourceId." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "instrumentationKey": "string", + "connectionString": "string" + } + }, + "2.0.0": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the Application Insights." + }, + "environmentType": { + "type": "", + "description": "The environment type." + }, + "WorkspaceResourceId": { + "type": "string", + "description": "WorkspaceResourceId." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "instrumentationKey": "string", + "connectionString": "string" + } + }, + "2.0.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the Application Insights." + }, + "environmentType": { + "type": "", + "description": "The environment type." + }, + "WorkspaceResourceId": { + "type": "string", + "description": "WorkspaceResourceId." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "instrumentationKey": "string", + "connectionString": "string" + } + }, + "2.1.0": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the Application Insights." + }, + "environmentType": { + "type": "", + "description": "The environment type." + }, + "WorkspaceResourceId": { + "type": "string", + "description": "WorkspaceResourceId." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "instrumentationKey": "string", + "connectionString": "string", + "appInsightsSettings": "" + } + }, + "2.1.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the Application Insights." + }, + "environmentType": { + "type": "", + "description": "The environment type." + }, + "WorkspaceResourceId": { + "type": "string", + "description": "WorkspaceResourceId." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "instrumentationKey": "string", + "connectionString": "string", + "appInsightsSettings": "" + } + }, + "2.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the Application Insights." + }, + "environmentType": { + "type": "", + "description": "The environment type." + }, + "WorkspaceResourceId": { + "type": "string", + "description": "WorkspaceResourceId." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "instrumentationKey": "string", + "connectionString": "string", + "appInsightsSettings": "" + } + }, + "latest": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the Application Insights." + }, + "environmentType": { + "type": "", + "description": "The environment type." + }, + "WorkspaceResourceId": { + "type": "string", + "description": "WorkspaceResourceId." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "instrumentationKey": "string", + "connectionString": "string", + "appInsightsSettings": "" + } + } + } + }, + "bicep/modules/appservice": { + "all_tags": [ + "1.0.0", + "1.0.x", + "1.1.0", + "1.1.1", + "1.1.2", + "1.1.5", + "1.1.x", + "1.2.0", + "1.2.1", + "1.2.x", + "1.3.0", + "1.3.1", + "1.3.x", + "1.x", + "2.0.0", + "2.0.1", + "2.0.x", + "2.1.0", + "2.1.1", + "2.1.x", + "2.2.0", + "2.2.1", + "2.2.x", + "2.3.0", + "2.3.1", + "2.3.2", + "2.3.x", + "2.x", + "2022-06-20", + "2022-06-29", + "2022-08-08", + "2022-08-09", + "2022-08-10", + "2022-08-16", + "2022-08-17", + "2022-09-06", + "2022-09-19", + "2022-11-01", + "2023-03-07", + "2023-04-11", + "2023-04-13", + "2023-04-14", + "2023-05-12", + "2023-06-22", + "2023-06-27", + "2023-06-30", + "2023-07-06", + "2023-07-07", + "2023-07-11", + "2023-07-20", + "2023-09-21", + "2023-11-01", + "2024-01-08", + "2024-01-17", + "2024-03-07", + "2024-03-19", + "2024-05-14", + "2024-08-14", + "latest", + "preview" + ], + "versions": [ + "1.0.0", + "1.0.x", + "1.1.0", + "1.1.1", + "1.1.2", + "1.1.5", + "1.1.x", + "1.2.0", + "1.2.1", + "1.2.x", + "1.3.0", + "1.3.1", + "1.3.x", + "1.x", + "2.0.0", + "2.0.1", + "2.0.x", + "2.1.0", + "2.1.1", + "2.1.x", + "2.2.0", + "2.2.1", + "2.2.x", + "2.3.0", + "2.3.1", + "2.3.2", + "2.3.x", + "2.x", + "latest" + ], + "schema": { + "1.0.0": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "netFrameworkVersion": { + "type": "string", + "description": ".Net Framework version", + "default": "", + "allowed": [ + "v7.0", + "v6.0", + "v4.8", + "" + ] + }, + "linuxFxVersion": { + "type": "string", + "description": "Linux App Framework and version", + "default": "DOTNETCORE|8.0", + "allowed": [ + "DOTNETCORE|8.0", + "DOTNETCORE|7.0", + "DOTNETCORE|6.0", + "NODE|18-lts" + ] + }, + "appCommandLine": { + "type": "string", + "description": "App command line to launch.", + "default": "" + }, + "clientAffinityEnabled": { + "type": "bool", + "description": "Turn Affinity Cookie on-off.", + "default": false + }, + "publicAccessSetting": { + "type": "string", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON", + "allowed": [ + "ON", + "WHITELIST", + "OFF" + ] + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "additionalAppSettings": { + "type": "object", + "description": "Additional app settings for App Service", + "default": {} + }, + "additionalConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for App Service", + "default": {} + }, + "hostNameBindings": { + "type": "array", + "description": "Add custom domains for App Service", + "default": [] + }, + "allowedOrigins": { + "type": "array", + "description": "Gets or sets the list of origins that should be allowed to make cross-origin", + "default": [] + }, + "deploymentSlot": { + "type": "bool", + "description": "Add deployment slot", + "default": false + }, + "runFromPackage": { + "type": "bool", + "description": "Mounts the application files as readonly. May improve deployment times and cold start time, but does not allow usage of local files.", + "default": true + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServiceAppHostName": "string", + "appServiceId": "string", + "appServiceIdentityId": "string", + "appServiceAppName": "string" + } + }, + "1.0.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "netFrameworkVersion": { + "type": "string", + "description": ".Net Framework version", + "default": "", + "allowed": [ + "v7.0", + "v6.0", + "v4.8", + "" + ] + }, + "linuxFxVersion": { + "type": "string", + "description": "Linux App Framework and version", + "default": "DOTNETCORE|8.0", + "allowed": [ + "DOTNETCORE|8.0", + "DOTNETCORE|7.0", + "DOTNETCORE|6.0", + "NODE|18-lts" + ] + }, + "appCommandLine": { + "type": "string", + "description": "App command line to launch.", + "default": "" + }, + "clientAffinityEnabled": { + "type": "bool", + "description": "Turn Affinity Cookie on-off.", + "default": false + }, + "publicAccessSetting": { + "type": "string", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON", + "allowed": [ + "ON", + "WHITELIST", + "OFF" + ] + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "additionalAppSettings": { + "type": "object", + "description": "Additional app settings for App Service", + "default": {} + }, + "additionalConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for App Service", + "default": {} + }, + "hostNameBindings": { + "type": "array", + "description": "Add custom domains for App Service", + "default": [] + }, + "allowedOrigins": { + "type": "array", + "description": "Gets or sets the list of origins that should be allowed to make cross-origin", + "default": [] + }, + "deploymentSlot": { + "type": "bool", + "description": "Add deployment slot", + "default": false + }, + "runFromPackage": { + "type": "bool", + "description": "Mounts the application files as readonly. May improve deployment times and cold start time, but does not allow usage of local files.", + "default": true + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServiceAppHostName": "string", + "appServiceId": "string", + "appServiceIdentityId": "string", + "appServiceAppName": "string" + } + }, + "1.1.0": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "netFrameworkVersion": { + "type": "string", + "description": ".Net Framework version", + "default": "", + "allowed": [ + "v7.0", + "v6.0", + "v4.8", + "" + ] + }, + "linuxFxVersion": { + "type": "string", + "description": "Linux App Framework and version", + "default": "DOTNETCORE|8.0", + "allowed": [ + "DOTNETCORE|8.0", + "DOTNETCORE|7.0", + "DOTNETCORE|6.0", + "NODE|18-lts" + ] + }, + "appCommandLine": { + "type": "string", + "description": "App command line to launch.", + "default": "" + }, + "clientAffinityEnabled": { + "type": "bool", + "description": "Turn Affinity Cookie on-off.", + "default": false + }, + "publicAccessSetting": { + "type": "string", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON", + "allowed": [ + "ON", + "WHITELIST", + "OFF" + ] + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "additionalAppSettings": { + "type": "object", + "description": "Additional app settings for App Service", + "default": {} + }, + "additionalSlotSettings": { + "type": "object", + "description": "Additional production slot app settings for App Service", + "default": {} + }, + "additionalConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for App Service", + "default": {} + }, + "additionalSlotConnectionStrings": { + "type": "object", + "description": "Additional production slot connectionStrings settings for App Service", + "default": {} + }, + "hostNameBindings": { + "type": "array", + "description": "Add custom domains for App Service", + "default": [] + }, + "allowedOrigins": { + "type": "array", + "description": "Gets or sets the list of origins that should be allowed to make cross-origin", + "default": [] + }, + "useDeploymentSlot": { + "type": "bool", + "description": "Add deployment slot", + "default": false + }, + "runFromPackage": { + "type": "bool", + "description": "Mounts the application files as readonly. May improve deployment times and cold start time, but does not allow usage of local files.", + "default": true + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServiceAppHostName": "string", + "appServiceId": "string", + "appServiceIdentityId": "string", + "appServiceAppName": "string", + "appServiceSlots": "array" + } + }, + "1.1.1": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "netFrameworkVersion": { + "type": "string", + "description": ".Net Framework version", + "default": "", + "allowed": [ + "v7.0", + "v6.0", + "v4.8", + "" + ] + }, + "linuxFxVersion": { + "type": "string", + "description": "Linux App Framework and version", + "default": "DOTNETCORE|8.0", + "allowed": [ + "DOTNETCORE|8.0", + "DOTNETCORE|7.0", + "DOTNETCORE|6.0", + "NODE|18-lts" + ] + }, + "appCommandLine": { + "type": "string", + "description": "App command line to launch.", + "default": "" + }, + "clientAffinityEnabled": { + "type": "bool", + "description": "Turn Affinity Cookie on-off.", + "default": false + }, + "publicAccessSetting": { + "type": "string", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON", + "allowed": [ + "ON", + "WHITELIST", + "OFF" + ] + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "additionalAppSettings": { + "type": "object", + "description": "Additional app settings for App Service", + "default": {} + }, + "additionalSlotSettings": { + "type": "object", + "description": "Additional production slot app settings for App Service", + "default": {} + }, + "additionalConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for App Service", + "default": {} + }, + "additionalSlotConnectionStrings": { + "type": "object", + "description": "Additional production slot connectionStrings settings for App Service", + "default": {} + }, + "hostNameBindings": { + "type": "array", + "description": "Add custom domains for App Service", + "default": [] + }, + "allowedOrigins": { + "type": "array", + "description": "Gets or sets the list of origins that should be allowed to make cross-origin", + "default": [] + }, + "useDeploymentSlot": { + "type": "bool", + "description": "Add deployment slot", + "default": false + }, + "runFromPackage": { + "type": "bool", + "description": "Mounts the application files as readonly. May improve deployment times and cold start time, but does not allow usage of local files.", + "default": true + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServiceAppHostName": "string", + "appServiceId": "string", + "appServiceIdentityId": "string", + "appServiceAppName": "string", + "appServiceSlots": "array" + } + }, + "1.1.2": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "netFrameworkVersion": { + "type": "string", + "description": ".Net Framework version", + "default": "", + "allowed": [ + "v7.0", + "v6.0", + "v4.8", + "" + ] + }, + "linuxFxVersion": { + "type": "string", + "description": "Linux App Framework and version", + "default": "DOTNETCORE|8.0", + "allowed": [ + "DOTNETCORE|8.0", + "DOTNETCORE|7.0", + "DOTNETCORE|6.0", + "NODE|18-lts", + "NODE|20-lts" + ] + }, + "appCommandLine": { + "type": "string", + "description": "App command line to launch.", + "default": "" + }, + "clientAffinityEnabled": { + "type": "bool", + "description": "Turn Affinity Cookie on-off.", + "default": false + }, + "publicAccessSetting": { + "type": "string", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON", + "allowed": [ + "ON", + "WHITELIST", + "OFF" + ] + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "additionalAppSettings": { + "type": "object", + "description": "Additional app settings for App Service", + "default": {} + }, + "additionalSlotSettings": { + "type": "object", + "description": "Additional production slot app settings for App Service", + "default": {} + }, + "additionalConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for App Service", + "default": {} + }, + "additionalSlotConnectionStrings": { + "type": "object", + "description": "Additional production slot connectionStrings settings for App Service", + "default": {} + }, + "hostNameBindings": { + "type": "array", + "description": "Add custom domains for App Service", + "default": [] + }, + "allowedOrigins": { + "type": "array", + "description": "Gets or sets the list of origins that should be allowed to make cross-origin", + "default": [] + }, + "useDeploymentSlot": { + "type": "bool", + "description": "Add deployment slot", + "default": false + }, + "runFromPackage": { + "type": "bool", + "description": "Mounts the application files as readonly. May improve deployment times and cold start time, but does not allow usage of local files.", + "default": true + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServiceAppHostName": "string", + "appServiceId": "string", + "appServiceIdentityId": "string", + "appServiceAppName": "string", + "appServiceSlots": "array" + } + }, + "1.1.5": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "netFrameworkVersion": { + "type": "string", + "description": ".Net Framework version", + "default": "", + "allowed": [ + "v7.0", + "v6.0", + "v4.8", + "" + ] + }, + "linuxFxVersion": { + "type": "string", + "description": "Linux App Framework and version", + "default": "DOTNETCORE|8.0", + "allowed": [ + "DOTNETCORE|9.0", + "DOTNETCORE|8.0", + "DOTNETCORE|7.0", + "DOTNETCORE|6.0", + "NODE|18-lts", + "NODE|20-lts" + ] + }, + "appCommandLine": { + "type": "string", + "description": "App command line to launch.", + "default": "" + }, + "clientAffinityEnabled": { + "type": "bool", + "description": "Turn Affinity Cookie on-off.", + "default": false + }, + "publicAccessSetting": { + "type": "string", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON", + "allowed": [ + "ON", + "WHITELIST", + "OFF" + ] + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "additionalAppSettings": { + "type": "object", + "description": "Additional app settings for App Service", + "default": {} + }, + "additionalSlotSettings": { + "type": "object", + "description": "Additional production slot app settings for App Service", + "default": {} + }, + "additionalConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for App Service", + "default": {} + }, + "additionalSlotConnectionStrings": { + "type": "object", + "description": "Additional production slot connectionStrings settings for App Service", + "default": {} + }, + "hostNameBindings": { + "type": "array", + "description": "Add custom domains for App Service", + "default": [] + }, + "allowedOrigins": { + "type": "array", + "description": "Gets or sets the list of origins that should be allowed to make cross-origin", + "default": [] + }, + "useDeploymentSlot": { + "type": "bool", + "description": "Add deployment slot", + "default": false + }, + "runFromPackage": { + "type": "bool", + "description": "Mounts the application files as readonly. May improve deployment times and cold start time, but does not allow usage of local files.", + "default": true + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServiceAppHostName": "string", + "appServiceId": "string", + "appServiceIdentityId": "string", + "appServiceAppName": "string", + "appServiceSlots": "array" + } + }, + "1.1.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "netFrameworkVersion": { + "type": "string", + "description": ".Net Framework version", + "default": "", + "allowed": [ + "v7.0", + "v6.0", + "v4.8", + "" + ] + }, + "linuxFxVersion": { + "type": "string", + "description": "Linux App Framework and version", + "default": "DOTNETCORE|8.0", + "allowed": [ + "DOTNETCORE|9.0", + "DOTNETCORE|8.0", + "DOTNETCORE|7.0", + "DOTNETCORE|6.0", + "NODE|18-lts", + "NODE|20-lts" + ] + }, + "appCommandLine": { + "type": "string", + "description": "App command line to launch.", + "default": "" + }, + "clientAffinityEnabled": { + "type": "bool", + "description": "Turn Affinity Cookie on-off.", + "default": false + }, + "publicAccessSetting": { + "type": "string", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON", + "allowed": [ + "ON", + "WHITELIST", + "OFF" + ] + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "additionalAppSettings": { + "type": "object", + "description": "Additional app settings for App Service", + "default": {} + }, + "additionalSlotSettings": { + "type": "object", + "description": "Additional production slot app settings for App Service", + "default": {} + }, + "additionalConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for App Service", + "default": {} + }, + "additionalSlotConnectionStrings": { + "type": "object", + "description": "Additional production slot connectionStrings settings for App Service", + "default": {} + }, + "hostNameBindings": { + "type": "array", + "description": "Add custom domains for App Service", + "default": [] + }, + "allowedOrigins": { + "type": "array", + "description": "Gets or sets the list of origins that should be allowed to make cross-origin", + "default": [] + }, + "useDeploymentSlot": { + "type": "bool", + "description": "Add deployment slot", + "default": false + }, + "runFromPackage": { + "type": "bool", + "description": "Mounts the application files as readonly. May improve deployment times and cold start time, but does not allow usage of local files.", + "default": true + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServiceAppHostName": "string", + "appServiceId": "string", + "appServiceIdentityId": "string", + "appServiceAppName": "string", + "appServiceSlots": "array" + } + }, + "1.2.0": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "netFrameworkVersion": { + "type": "string", + "description": ".Net Framework version", + "default": "", + "allowed": [ + "v7.0", + "v6.0", + "v4.8", + "" + ] + }, + "linuxFxVersion": { + "type": "string", + "description": "Linux App Framework and version", + "default": "DOTNETCORE|8.0", + "allowed": [ + "DOTNETCORE|9.0", + "DOTNETCORE|8.0", + "DOTNETCORE|7.0", + "DOTNETCORE|6.0", + "NODE|18-lts", + "NODE|20-lts" + ] + }, + "appCommandLine": { + "type": "string", + "description": "App command line to launch.", + "default": "" + }, + "clientAffinityEnabled": { + "type": "bool", + "description": "Turn Affinity Cookie on-off.", + "default": false + }, + "publicAccessSetting": { + "type": "string", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON", + "allowed": [ + "ON", + "WHITELIST", + "OFF" + ] + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "additionalAppSettings": { + "type": "object", + "description": "Additional app settings for App Service", + "default": {} + }, + "additionalSlotSettings": { + "type": "object", + "description": "Additional production slot app settings for App Service", + "default": {} + }, + "additionalConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for App Service", + "default": {} + }, + "additionalSlotConnectionStrings": { + "type": "object", + "description": "Additional production slot connectionStrings settings for App Service", + "default": {} + }, + "hostNameBindings": { + "type": "array", + "description": "Add custom domains for App Service", + "default": [] + }, + "allowedOrigins": { + "type": "array", + "description": "Gets or sets the list of origins that should be allowed to make cross-origin", + "default": [] + }, + "useDeploymentSlot": { + "type": "bool", + "description": "Add deployment slot", + "default": false + }, + "runFromPackage": { + "type": "bool", + "description": "Mounts the application files as readonly. May improve deployment times and cold start time, but does not allow usage of local files.", + "default": true + }, + "tlsVersion": { + "type": "string", + "description": "", + "default": "1.3", + "allowed": [ + "1.2", + "1.3" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServiceAppHostName": "string", + "appServiceId": "string", + "appServiceIdentityId": "string", + "appServiceAppName": "string", + "appServiceSlots": "array" + } + }, + "1.2.1": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "netFrameworkVersion": { + "type": "string", + "description": ".Net Framework version", + "default": "", + "allowed": [ + "v7.0", + "v6.0", + "v4.8", + "" + ] + }, + "linuxFxVersion": { + "type": "string", + "description": "Linux App Framework and version", + "default": "DOTNETCORE|8.0", + "allowed": [ + "DOTNETCORE|9.0", + "DOTNETCORE|8.0", + "DOTNETCORE|7.0", + "DOTNETCORE|6.0", + "NODE|18-lts", + "NODE|20-lts" + ] + }, + "appCommandLine": { + "type": "string", + "description": "App command line to launch.", + "default": "" + }, + "clientAffinityEnabled": { + "type": "bool", + "description": "Turn Affinity Cookie on-off.", + "default": false + }, + "publicAccessSetting": { + "type": "string", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON", + "allowed": [ + "ON", + "WHITELIST", + "OFF" + ] + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "additionalAppSettings": { + "type": "object", + "description": "Additional app settings for App Service", + "default": {} + }, + "additionalSlotSettings": { + "type": "object", + "description": "Additional production slot app settings for App Service", + "default": {} + }, + "additionalConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for App Service", + "default": {} + }, + "additionalSlotConnectionStrings": { + "type": "object", + "description": "Additional production slot connectionStrings settings for App Service", + "default": {} + }, + "enableDatadog": { + "type": "bool", + "description": "Enable Datadog integration", + "default": false + }, + "datadogApiKey": { + "type": "securestring", + "description": "Name of the key vault containing the Datadog API Key", + "default": "" + }, + "hostNameBindings": { + "type": "array", + "description": "Add custom domains for App Service", + "default": [] + }, + "allowedOrigins": { + "type": "array", + "description": "Gets or sets the list of origins that should be allowed to make cross-origin", + "default": [] + }, + "useDeploymentSlot": { + "type": "bool", + "description": "Add deployment slot", + "default": false + }, + "runFromPackage": { + "type": "bool", + "description": "Mounts the application files as readonly. May improve deployment times and cold start time, but does not allow usage of local files.", + "default": true + }, + "tlsVersion": { + "type": "string", + "description": "", + "default": "1.3", + "allowed": [ + "1.2", + "1.3" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServiceAppHostName": "string", + "appServiceId": "string", + "appServiceIdentityId": "string", + "appServiceAppName": "string", + "appServiceSlots": "array" + } + }, + "1.2.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "netFrameworkVersion": { + "type": "string", + "description": ".Net Framework version", + "default": "", + "allowed": [ + "v7.0", + "v6.0", + "v4.8", + "" + ] + }, + "linuxFxVersion": { + "type": "string", + "description": "Linux App Framework and version", + "default": "DOTNETCORE|8.0", + "allowed": [ + "DOTNETCORE|9.0", + "DOTNETCORE|8.0", + "DOTNETCORE|7.0", + "DOTNETCORE|6.0", + "NODE|18-lts", + "NODE|20-lts" + ] + }, + "appCommandLine": { + "type": "string", + "description": "App command line to launch.", + "default": "" + }, + "clientAffinityEnabled": { + "type": "bool", + "description": "Turn Affinity Cookie on-off.", + "default": false + }, + "publicAccessSetting": { + "type": "string", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON", + "allowed": [ + "ON", + "WHITELIST", + "OFF" + ] + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "additionalAppSettings": { + "type": "object", + "description": "Additional app settings for App Service", + "default": {} + }, + "additionalSlotSettings": { + "type": "object", + "description": "Additional production slot app settings for App Service", + "default": {} + }, + "additionalConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for App Service", + "default": {} + }, + "additionalSlotConnectionStrings": { + "type": "object", + "description": "Additional production slot connectionStrings settings for App Service", + "default": {} + }, + "enableDatadog": { + "type": "bool", + "description": "Enable Datadog integration", + "default": false + }, + "datadogApiKey": { + "type": "securestring", + "description": "Name of the key vault containing the Datadog API Key", + "default": "" + }, + "hostNameBindings": { + "type": "array", + "description": "Add custom domains for App Service", + "default": [] + }, + "allowedOrigins": { + "type": "array", + "description": "Gets or sets the list of origins that should be allowed to make cross-origin", + "default": [] + }, + "useDeploymentSlot": { + "type": "bool", + "description": "Add deployment slot", + "default": false + }, + "runFromPackage": { + "type": "bool", + "description": "Mounts the application files as readonly. May improve deployment times and cold start time, but does not allow usage of local files.", + "default": true + }, + "tlsVersion": { + "type": "string", + "description": "", + "default": "1.3", + "allowed": [ + "1.2", + "1.3" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServiceAppHostName": "string", + "appServiceId": "string", + "appServiceIdentityId": "string", + "appServiceAppName": "string", + "appServiceSlots": "array" + } + }, + "1.3.0": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "netFrameworkVersion": { + "type": "string", + "description": ".Net Framework version", + "default": "", + "allowed": [ + "v7.0", + "v6.0", + "v4.8", + "" + ] + }, + "linuxFxVersion": { + "type": "string", + "description": "Linux App Framework and version", + "default": "DOTNETCORE|8.0", + "allowed": [ + "DOTNETCORE|9.0", + "DOTNETCORE|8.0", + "DOTNETCORE|7.0", + "DOTNETCORE|6.0", + "NODE|18-lts", + "NODE|20-lts" + ] + }, + "appCommandLine": { + "type": "string", + "description": "App command line to launch.", + "default": "" + }, + "clientAffinityEnabled": { + "type": "bool", + "description": "Turn Affinity Cookie on-off.", + "default": false + }, + "publicAccessSetting": { + "type": "string", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON", + "allowed": [ + "ON", + "WHITELIST", + "OFF" + ] + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "additionalAppSettings": { + "type": "object", + "description": "Additional app settings for App Service", + "default": {} + }, + "additionalSlotSettings": { + "type": "object", + "description": "Additional production slot app settings for App Service", + "default": {} + }, + "additionalConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for App Service", + "default": {} + }, + "additionalSlotConnectionStrings": { + "type": "object", + "description": "Additional production slot connectionStrings settings for App Service", + "default": {} + }, + "enableDatadog": { + "type": "bool", + "description": "Enable Datadog integration", + "default": false + }, + "datadogApiKey": { + "type": "securestring", + "description": "Name of the key vault containing the Datadog API Key", + "default": "" + }, + "hostNameBindings": { + "type": "array", + "description": "Add custom domains for App Service", + "default": [] + }, + "allowedOrigins": { + "type": "array", + "description": "Gets or sets the list of origins that should be allowed to make cross-origin", + "default": [] + }, + "useDeploymentSlot": { + "type": "bool", + "description": "Add deployment slot", + "default": false + }, + "runFromPackage": { + "type": "bool", + "description": "Mounts the application files as readonly. May improve deployment times and cold start time, but does not allow usage of local files.", + "default": true + }, + "tlsVersion": { + "type": "string", + "description": "", + "default": "1.3", + "allowed": [ + "1.2", + "1.3" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServiceAppHostName": "string", + "appServiceId": "string", + "appServiceIdentityId": "string", + "appServiceAppName": "string", + "appServiceSlots": "array" + } + }, + "1.3.1": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "netFrameworkVersion": { + "type": "string", + "description": ".Net Framework version", + "default": "", + "allowed": [ + "v7.0", + "v6.0", + "v4.8", + "" + ] + }, + "linuxFxVersion": { + "type": "string", + "description": "Linux App Framework and version", + "default": "DOTNETCORE|8.0", + "allowed": [ + "DOTNETCORE|9.0", + "DOTNETCORE|8.0", + "DOTNETCORE|7.0", + "DOTNETCORE|6.0", + "NODE|18-lts", + "NODE|20-lts" + ] + }, + "appCommandLine": { + "type": "string", + "description": "App command line to launch.", + "default": "" + }, + "clientAffinityEnabled": { + "type": "bool", + "description": "Turn Affinity Cookie on-off.", + "default": false + }, + "publicAccessSetting": { + "type": "string", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON", + "allowed": [ + "ON", + "WHITELIST", + "OFF" + ] + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "additionalAppSettings": { + "type": "object", + "description": "Additional app settings for App Service", + "default": {} + }, + "additionalSlotSettings": { + "type": "object", + "description": "Additional production slot app settings for App Service", + "default": {} + }, + "additionalConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for App Service", + "default": {} + }, + "additionalSlotConnectionStrings": { + "type": "object", + "description": "Additional production slot connectionStrings settings for App Service", + "default": {} + }, + "enableDatadog": { + "type": "bool", + "description": "Enable Datadog integration", + "default": false + }, + "datadogApiKey": { + "type": "securestring", + "description": "Name of the key vault containing the Datadog API Key", + "default": "" + }, + "hostNameBindings": { + "type": "array", + "description": "Add custom domains for App Service", + "default": [] + }, + "allowedOrigins": { + "type": "array", + "description": "Gets or sets the list of origins that should be allowed to make cross-origin", + "default": [] + }, + "useDeploymentSlot": { + "type": "bool", + "description": "Add deployment slot", + "default": false + }, + "runFromPackage": { + "type": "bool", + "description": "Mounts the application files as readonly. May improve deployment times and cold start time, but does not allow usage of local files.", + "default": true + }, + "tlsVersion": { + "type": "string", + "description": "", + "default": "1.3", + "allowed": [ + "1.2", + "1.3" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServiceAppHostName": "string", + "appServiceId": "string", + "appServiceIdentityId": "string", + "appServiceAppName": "string", + "appServiceSlots": "array" + } + }, + "1.3.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "netFrameworkVersion": { + "type": "string", + "description": ".Net Framework version", + "default": "", + "allowed": [ + "v7.0", + "v6.0", + "v4.8", + "" + ] + }, + "linuxFxVersion": { + "type": "string", + "description": "Linux App Framework and version", + "default": "DOTNETCORE|8.0", + "allowed": [ + "DOTNETCORE|9.0", + "DOTNETCORE|8.0", + "DOTNETCORE|7.0", + "DOTNETCORE|6.0", + "NODE|18-lts", + "NODE|20-lts" + ] + }, + "appCommandLine": { + "type": "string", + "description": "App command line to launch.", + "default": "" + }, + "clientAffinityEnabled": { + "type": "bool", + "description": "Turn Affinity Cookie on-off.", + "default": false + }, + "publicAccessSetting": { + "type": "string", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON", + "allowed": [ + "ON", + "WHITELIST", + "OFF" + ] + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "additionalAppSettings": { + "type": "object", + "description": "Additional app settings for App Service", + "default": {} + }, + "additionalSlotSettings": { + "type": "object", + "description": "Additional production slot app settings for App Service", + "default": {} + }, + "additionalConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for App Service", + "default": {} + }, + "additionalSlotConnectionStrings": { + "type": "object", + "description": "Additional production slot connectionStrings settings for App Service", + "default": {} + }, + "enableDatadog": { + "type": "bool", + "description": "Enable Datadog integration", + "default": false + }, + "datadogApiKey": { + "type": "securestring", + "description": "Name of the key vault containing the Datadog API Key", + "default": "" + }, + "hostNameBindings": { + "type": "array", + "description": "Add custom domains for App Service", + "default": [] + }, + "allowedOrigins": { + "type": "array", + "description": "Gets or sets the list of origins that should be allowed to make cross-origin", + "default": [] + }, + "useDeploymentSlot": { + "type": "bool", + "description": "Add deployment slot", + "default": false + }, + "runFromPackage": { + "type": "bool", + "description": "Mounts the application files as readonly. May improve deployment times and cold start time, but does not allow usage of local files.", + "default": true + }, + "tlsVersion": { + "type": "string", + "description": "", + "default": "1.3", + "allowed": [ + "1.2", + "1.3" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServiceAppHostName": "string", + "appServiceId": "string", + "appServiceIdentityId": "string", + "appServiceAppName": "string", + "appServiceSlots": "array" + } + }, + "1.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "netFrameworkVersion": { + "type": "string", + "description": ".Net Framework version", + "default": "", + "allowed": [ + "v7.0", + "v6.0", + "v4.8", + "" + ] + }, + "linuxFxVersion": { + "type": "string", + "description": "Linux App Framework and version", + "default": "DOTNETCORE|8.0", + "allowed": [ + "DOTNETCORE|9.0", + "DOTNETCORE|8.0", + "DOTNETCORE|7.0", + "DOTNETCORE|6.0", + "NODE|18-lts", + "NODE|20-lts" + ] + }, + "appCommandLine": { + "type": "string", + "description": "App command line to launch.", + "default": "" + }, + "clientAffinityEnabled": { + "type": "bool", + "description": "Turn Affinity Cookie on-off.", + "default": false + }, + "publicAccessSetting": { + "type": "string", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON", + "allowed": [ + "ON", + "WHITELIST", + "OFF" + ] + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "additionalAppSettings": { + "type": "object", + "description": "Additional app settings for App Service", + "default": {} + }, + "additionalSlotSettings": { + "type": "object", + "description": "Additional production slot app settings for App Service", + "default": {} + }, + "additionalConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for App Service", + "default": {} + }, + "additionalSlotConnectionStrings": { + "type": "object", + "description": "Additional production slot connectionStrings settings for App Service", + "default": {} + }, + "enableDatadog": { + "type": "bool", + "description": "Enable Datadog integration", + "default": false + }, + "datadogApiKey": { + "type": "securestring", + "description": "Name of the key vault containing the Datadog API Key", + "default": "" + }, + "hostNameBindings": { + "type": "array", + "description": "Add custom domains for App Service", + "default": [] + }, + "allowedOrigins": { + "type": "array", + "description": "Gets or sets the list of origins that should be allowed to make cross-origin", + "default": [] + }, + "useDeploymentSlot": { + "type": "bool", + "description": "Add deployment slot", + "default": false + }, + "runFromPackage": { + "type": "bool", + "description": "Mounts the application files as readonly. May improve deployment times and cold start time, but does not allow usage of local files.", + "default": true + }, + "tlsVersion": { + "type": "string", + "description": "", + "default": "1.3", + "allowed": [ + "1.2", + "1.3" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServiceAppHostName": "string", + "appServiceId": "string", + "appServiceIdentityId": "string", + "appServiceAppName": "string", + "appServiceSlots": "array" + } + }, + "2.0.0": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "appInsightsSettings": { + "type": "", + "description": "Application Insights Settings." + }, + "netFrameworkVersion": { + "type": "", + "description": ".Net Framework version" + }, + "linuxFxVersion": { + "type": "", + "description": "Linux App Framework and version", + "default": "DOTNETCORE|8.0" + }, + "appCommandLine": { + "type": "string", + "description": "App command line to launch.", + "default": "" + }, + "clientAffinityEnabled": { + "type": "bool", + "description": "Turn Affinity Cookie on-off.", + "default": false + }, + "publicAccessSetting": { + "type": "", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON" + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "additionalAppSettings": { + "type": "object", + "description": "Additional app settings for App Service", + "default": {} + }, + "additionalSlotSettings": { + "type": "object", + "description": "Additional production slot app settings for App Service", + "default": {} + }, + "additionalConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for App Service", + "default": {} + }, + "additionalSlotConnectionStrings": { + "type": "object", + "description": "Additional production slot connectionStrings settings for App Service", + "default": {} + }, + "enableDatadog": { + "type": "bool", + "description": "Enable Datadog integration", + "default": false + }, + "datadogApiKey": { + "type": "securestring", + "description": "Name of the key vault containing the Datadog API Key", + "default": "" + }, + "hostNameBindings": { + "type": "array", + "description": "Add custom domains for App Service", + "default": [] + }, + "allowedOrigins": { + "type": "array", + "description": "Gets or sets the list of origins that should be allowed to make cross-origin", + "default": [] + }, + "useDeploymentSlot": { + "type": "bool", + "description": "Add deployment slot", + "default": false + }, + "runFromPackage": { + "type": "bool", + "description": "Mounts the application files as readonly. May improve deployment times and cold start time, but does not allow usage of local files.", + "default": true + }, + "tlsVersion": { + "type": "", + "description": "", + "default": "1.3" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServiceAppHostName": "string", + "appServiceAppName": "string", + "appServiceId": "string", + "appServiceIdentityId": "string", + "appServicePrincipal": "", + "appServiceSlots": "array" + } + }, + "2.0.1": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "appInsightsSettings": { + "type": "", + "description": "Application Insights Settings." + }, + "netFrameworkVersion": { + "type": "", + "description": ".Net Framework version" + }, + "linuxFxVersion": { + "type": "", + "description": "Linux App Framework and version", + "default": "DOTNETCORE|8.0" + }, + "appCommandLine": { + "type": "string", + "description": "App command line to launch.", + "default": "" + }, + "clientAffinityEnabled": { + "type": "bool", + "description": "Turn Affinity Cookie on-off.", + "default": false + }, + "publicAccessSetting": { + "type": "", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON" + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "additionalAppSettings": { + "type": "object", + "description": "Additional app settings for App Service", + "default": {} + }, + "additionalSlotSettings": { + "type": "object", + "description": "Additional production slot app settings for App Service", + "default": {} + }, + "additionalConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for App Service", + "default": {} + }, + "additionalSlotConnectionStrings": { + "type": "object", + "description": "Additional production slot connectionStrings settings for App Service", + "default": {} + }, + "enableDatadog": { + "type": "bool", + "description": "Enable Datadog integration", + "default": false + }, + "datadogApiKey": { + "type": "securestring", + "description": "Name of the key vault containing the Datadog API Key", + "default": "" + }, + "hostNameBindings": { + "type": "array", + "description": "Add custom domains for App Service", + "default": [] + }, + "allowedOrigins": { + "type": "array", + "description": "Gets or sets the list of origins that should be allowed to make cross-origin", + "default": [] + }, + "useDeploymentSlot": { + "type": "bool", + "description": "Add deployment slot", + "default": false + }, + "runFromPackage": { + "type": "bool", + "description": "Mounts the application files as readonly. May improve deployment times and cold start time, but does not allow usage of local files.", + "default": true + }, + "tlsVersion": { + "type": "", + "description": "", + "default": "1.3" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServiceAppHostName": "string", + "appServiceAppName": "string", + "appServiceId": "string", + "appServiceIdentityId": "string", + "appServicePrincipal": "", + "appServiceSlots": "array" + } + }, + "2.0.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "appInsightsSettings": { + "type": "", + "description": "Application Insights Settings." + }, + "netFrameworkVersion": { + "type": "", + "description": ".Net Framework version" + }, + "linuxFxVersion": { + "type": "", + "description": "Linux App Framework and version", + "default": "DOTNETCORE|8.0" + }, + "appCommandLine": { + "type": "string", + "description": "App command line to launch.", + "default": "" + }, + "clientAffinityEnabled": { + "type": "bool", + "description": "Turn Affinity Cookie on-off.", + "default": false + }, + "publicAccessSetting": { + "type": "", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON" + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "additionalAppSettings": { + "type": "object", + "description": "Additional app settings for App Service", + "default": {} + }, + "additionalSlotSettings": { + "type": "object", + "description": "Additional production slot app settings for App Service", + "default": {} + }, + "additionalConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for App Service", + "default": {} + }, + "additionalSlotConnectionStrings": { + "type": "object", + "description": "Additional production slot connectionStrings settings for App Service", + "default": {} + }, + "enableDatadog": { + "type": "bool", + "description": "Enable Datadog integration", + "default": false + }, + "datadogApiKey": { + "type": "securestring", + "description": "Name of the key vault containing the Datadog API Key", + "default": "" + }, + "hostNameBindings": { + "type": "array", + "description": "Add custom domains for App Service", + "default": [] + }, + "allowedOrigins": { + "type": "array", + "description": "Gets or sets the list of origins that should be allowed to make cross-origin", + "default": [] + }, + "useDeploymentSlot": { + "type": "bool", + "description": "Add deployment slot", + "default": false + }, + "runFromPackage": { + "type": "bool", + "description": "Mounts the application files as readonly. May improve deployment times and cold start time, but does not allow usage of local files.", + "default": true + }, + "tlsVersion": { + "type": "", + "description": "", + "default": "1.3" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServiceAppHostName": "string", + "appServiceAppName": "string", + "appServiceId": "string", + "appServiceIdentityId": "string", + "appServicePrincipal": "", + "appServiceSlots": "array" + } + }, + "2.1.0": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "appInsightsSettings": { + "type": "", + "description": "Application Insights Settings." + }, + "netFrameworkVersion": { + "type": "", + "description": ".Net Framework version" + }, + "linuxFxVersion": { + "type": "", + "description": "Linux App Framework and version", + "default": "DOTNETCORE|8.0" + }, + "appCommandLine": { + "type": "string", + "description": "App command line to launch.", + "default": "" + }, + "clientAffinityEnabled": { + "type": "bool", + "description": "Turn Affinity Cookie on-off.", + "default": false + }, + "publicAccessSetting": { + "type": "", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON" + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "additionalAppSettings": { + "type": "object", + "description": "Additional app settings for App Service", + "default": {} + }, + "additionalSlotSettings": { + "type": "object", + "description": "Additional production slot app settings for App Service", + "default": {} + }, + "additionalConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for App Service", + "default": {} + }, + "additionalSlotConnectionStrings": { + "type": "object", + "description": "Additional production slot connectionStrings settings for App Service", + "default": {} + }, + "enableDatadog": { + "type": "bool", + "description": "Enable Datadog integration", + "default": false + }, + "datadogApiKey": { + "type": "securestring", + "description": "Name of the key vault containing the Datadog API Key", + "default": "" + }, + "fileMountInfo": { + "type": "", + "description": "A list of storage account file shared to mount.", + "default": {} + }, + "hostNameBindings": { + "type": "array", + "description": "Add custom domains for App Service", + "default": [] + }, + "allowedOrigins": { + "type": "array", + "description": "Gets or sets the list of origins that should be allowed to make cross-origin", + "default": [] + }, + "useDeploymentSlot": { + "type": "bool", + "description": "Add deployment slot", + "default": false + }, + "runFromPackage": { + "type": "bool", + "description": "Mounts the application files as readonly. May improve deployment times and cold start time, but does not allow usage of local files.", + "default": true + }, + "tlsVersion": { + "type": "", + "description": "", + "default": "1.3" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServiceAppHostName": "string", + "appServiceAppName": "string", + "appServiceId": "string", + "appServiceIdentityId": "string", + "appServicePrincipal": "", + "appServiceSlots": "array" + } + }, + "2.1.1": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "appInsightsSettings": { + "type": "", + "description": "Application Insights Settings." + }, + "netFrameworkVersion": { + "type": "", + "description": ".Net Framework version" + }, + "linuxFxVersion": { + "type": "", + "description": "Linux App Framework and version", + "default": "DOTNETCORE|8.0" + }, + "appCommandLine": { + "type": "string", + "description": "App command line to launch.", + "default": "" + }, + "clientAffinityEnabled": { + "type": "bool", + "description": "Turn Affinity Cookie on-off.", + "default": false + }, + "publicAccessSetting": { + "type": "", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON" + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "additionalAppSettings": { + "type": "object", + "description": "Additional app settings for App Service", + "default": {} + }, + "additionalSlotSettings": { + "type": "object", + "description": "Additional production slot app settings for App Service", + "default": {} + }, + "additionalConnectionStrings": { + "type": "", + "description": "Additional connectionStrings settings for App Service", + "default": {} + }, + "additionalSlotConnectionStrings": { + "type": "", + "description": "Additional production slot connectionStrings settings for App Service", + "default": {} + }, + "enableDatadog": { + "type": "bool", + "description": "Enable Datadog integration", + "default": false + }, + "datadogApiKey": { + "type": "securestring", + "description": "Name of the key vault containing the Datadog API Key", + "default": "" + }, + "fileMountInfo": { + "type": "", + "description": "A list of storage account file shared to mount.", + "default": {} + }, + "hostNameBindings": { + "type": "array", + "description": "Add custom domains for App Service", + "default": [] + }, + "allowedOrigins": { + "type": "array", + "description": "Gets or sets the list of origins that should be allowed to make cross-origin", + "default": [] + }, + "useDeploymentSlot": { + "type": "bool", + "description": "Add deployment slot", + "default": false + }, + "runFromPackage": { + "type": "bool", + "description": "Mounts the application files as readonly. May improve deployment times and cold start time, but does not allow usage of local files.", + "default": true + }, + "tlsVersion": { + "type": "", + "description": "", + "default": "1.3" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServiceAppHostName": "string", + "appServiceAppName": "string", + "appServiceId": "string", + "appServiceIdentityId": "string", + "appServicePrincipal": "", + "appServiceSlots": "array" + } + }, + "2.1.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "appInsightsSettings": { + "type": "", + "description": "Application Insights Settings." + }, + "netFrameworkVersion": { + "type": "", + "description": ".Net Framework version" + }, + "linuxFxVersion": { + "type": "", + "description": "Linux App Framework and version", + "default": "DOTNETCORE|8.0" + }, + "appCommandLine": { + "type": "string", + "description": "App command line to launch.", + "default": "" + }, + "clientAffinityEnabled": { + "type": "bool", + "description": "Turn Affinity Cookie on-off.", + "default": false + }, + "publicAccessSetting": { + "type": "", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON" + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "additionalAppSettings": { + "type": "object", + "description": "Additional app settings for App Service", + "default": {} + }, + "additionalSlotSettings": { + "type": "object", + "description": "Additional production slot app settings for App Service", + "default": {} + }, + "additionalConnectionStrings": { + "type": "", + "description": "Additional connectionStrings settings for App Service", + "default": {} + }, + "additionalSlotConnectionStrings": { + "type": "", + "description": "Additional production slot connectionStrings settings for App Service", + "default": {} + }, + "enableDatadog": { + "type": "bool", + "description": "Enable Datadog integration", + "default": false + }, + "datadogApiKey": { + "type": "securestring", + "description": "Name of the key vault containing the Datadog API Key", + "default": "" + }, + "fileMountInfo": { + "type": "", + "description": "A list of storage account file shared to mount.", + "default": {} + }, + "hostNameBindings": { + "type": "array", + "description": "Add custom domains for App Service", + "default": [] + }, + "allowedOrigins": { + "type": "array", + "description": "Gets or sets the list of origins that should be allowed to make cross-origin", + "default": [] + }, + "useDeploymentSlot": { + "type": "bool", + "description": "Add deployment slot", + "default": false + }, + "runFromPackage": { + "type": "bool", + "description": "Mounts the application files as readonly. May improve deployment times and cold start time, but does not allow usage of local files.", + "default": true + }, + "tlsVersion": { + "type": "", + "description": "", + "default": "1.3" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServiceAppHostName": "string", + "appServiceAppName": "string", + "appServiceId": "string", + "appServiceIdentityId": "string", + "appServicePrincipal": "", + "appServiceSlots": "array" + } + }, + "2.2.0": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "appInsightsSettings": { + "type": "", + "description": "Application Insights Settings." + }, + "netFrameworkVersion": { + "type": "", + "description": ".Net Framework version" + }, + "linuxFxVersion": { + "type": "", + "description": "Linux App Framework and version", + "default": "DOTNETCORE|8.0" + }, + "appCommandLine": { + "type": "string", + "description": "App command line to launch.", + "default": "" + }, + "clientAffinityEnabled": { + "type": "bool", + "description": "Turn Affinity Cookie on-off.", + "default": false + }, + "publicAccessSetting": { + "type": "", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON" + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "additionalAppSettings": { + "type": "object", + "description": "Additional app settings for App Service", + "default": {} + }, + "additionalSlotSettings": { + "type": "object", + "description": "Additional production slot app settings for App Service", + "default": {} + }, + "additionalConnectionStrings": { + "type": "", + "description": "Additional connectionStrings settings for App Service", + "default": {} + }, + "additionalSlotConnectionStrings": { + "type": "", + "description": "Additional production slot connectionStrings settings for App Service", + "default": {} + }, + "enableDatadog": { + "type": "bool", + "description": "Enable Datadog integration", + "default": false + }, + "datadogApiKey": { + "type": "securestring", + "description": "Name of the key vault containing the Datadog API Key", + "default": "" + }, + "fileMountInfo": { + "type": "", + "description": "A list of storage account file shared to mount.", + "default": {} + }, + "healthCheckPath": { + "type": "string", + "description": "Path for health check endpoint" + }, + "hostNameBindings": { + "type": "array", + "description": "Add custom domains for App Service", + "default": [] + }, + "allowedOrigins": { + "type": "array", + "description": "Gets or sets the list of origins that should be allowed to make cross-origin", + "default": [] + }, + "useDeploymentSlot": { + "type": "bool", + "description": "Add deployment slot", + "default": false + }, + "runFromPackage": { + "type": "bool", + "description": "Mounts the application files as readonly. May improve deployment times and cold start time, but does not allow usage of local files.", + "default": true + }, + "tlsVersion": { + "type": "", + "description": "", + "default": "1.3" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServiceAppHostName": "string", + "appServiceAppName": "string", + "appServiceId": "string", + "appServiceIdentityId": "string", + "appServicePrincipal": "", + "appServiceSlots": "array" + } + }, + "2.2.1": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "appInsightsSettings": { + "type": "", + "description": "Application Insights Settings." + }, + "netFrameworkVersion": { + "type": "", + "description": ".Net Framework version" + }, + "linuxFxVersion": { + "type": "", + "description": "Linux App Framework and version", + "default": "DOTNETCORE|8.0" + }, + "appCommandLine": { + "type": "string", + "description": "App command line to launch.", + "default": "" + }, + "clientAffinityEnabled": { + "type": "bool", + "description": "Turn Affinity Cookie on-off.", + "default": false + }, + "publicAccessSetting": { + "type": "", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON" + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "additionalAppSettings": { + "type": "object", + "description": "Additional app settings for App Service", + "default": {} + }, + "additionalSlotSettings": { + "type": "object", + "description": "Additional production slot app settings for App Service", + "default": {} + }, + "additionalConnectionStrings": { + "type": "", + "description": "Additional connectionStrings settings for App Service", + "default": {} + }, + "additionalSlotConnectionStrings": { + "type": "", + "description": "Additional production slot connectionStrings settings for App Service", + "default": {} + }, + "enableDatadog": { + "type": "bool", + "description": "Enable Datadog integration", + "default": false + }, + "datadogApiKey": { + "type": "securestring", + "description": "Name of the key vault containing the Datadog API Key", + "default": "" + }, + "fileMountInfo": { + "type": "", + "description": "A list of storage account file shared to mount.", + "default": {} + }, + "healthCheckPath": { + "type": "string", + "description": "Path for health check endpoint" + }, + "hostNameBindings": { + "type": "array", + "description": "Add custom domains for App Service", + "default": [] + }, + "allowedOrigins": { + "type": "array", + "description": "Gets or sets the list of origins that should be allowed to make cross-origin", + "default": [] + }, + "useDeploymentSlot": { + "type": "bool", + "description": "Add deployment slot", + "default": false + }, + "runFromPackage": { + "type": "bool", + "description": "Mounts the application files as readonly. May improve deployment times and cold start time, but does not allow usage of local files.", + "default": true + }, + "tlsVersion": { + "type": "", + "description": "", + "default": "1.3" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServiceAppHostName": "string", + "appServiceAppName": "string", + "appServiceId": "string", + "appServiceIdentityId": "string", + "appServicePrincipal": "", + "appServiceSlots": "array" + } + }, + "2.2.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "appInsightsSettings": { + "type": "", + "description": "Application Insights Settings." + }, + "netFrameworkVersion": { + "type": "", + "description": ".Net Framework version" + }, + "linuxFxVersion": { + "type": "", + "description": "Linux App Framework and version", + "default": "DOTNETCORE|8.0" + }, + "appCommandLine": { + "type": "string", + "description": "App command line to launch.", + "default": "" + }, + "clientAffinityEnabled": { + "type": "bool", + "description": "Turn Affinity Cookie on-off.", + "default": false + }, + "publicAccessSetting": { + "type": "", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON" + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "additionalAppSettings": { + "type": "object", + "description": "Additional app settings for App Service", + "default": {} + }, + "additionalSlotSettings": { + "type": "object", + "description": "Additional production slot app settings for App Service", + "default": {} + }, + "additionalConnectionStrings": { + "type": "", + "description": "Additional connectionStrings settings for App Service", + "default": {} + }, + "additionalSlotConnectionStrings": { + "type": "", + "description": "Additional production slot connectionStrings settings for App Service", + "default": {} + }, + "enableDatadog": { + "type": "bool", + "description": "Enable Datadog integration", + "default": false + }, + "datadogApiKey": { + "type": "securestring", + "description": "Name of the key vault containing the Datadog API Key", + "default": "" + }, + "fileMountInfo": { + "type": "", + "description": "A list of storage account file shared to mount.", + "default": {} + }, + "healthCheckPath": { + "type": "string", + "description": "Path for health check endpoint" + }, + "hostNameBindings": { + "type": "array", + "description": "Add custom domains for App Service", + "default": [] + }, + "allowedOrigins": { + "type": "array", + "description": "Gets or sets the list of origins that should be allowed to make cross-origin", + "default": [] + }, + "useDeploymentSlot": { + "type": "bool", + "description": "Add deployment slot", + "default": false + }, + "runFromPackage": { + "type": "bool", + "description": "Mounts the application files as readonly. May improve deployment times and cold start time, but does not allow usage of local files.", + "default": true + }, + "tlsVersion": { + "type": "", + "description": "", + "default": "1.3" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServiceAppHostName": "string", + "appServiceAppName": "string", + "appServiceId": "string", + "appServiceIdentityId": "string", + "appServicePrincipal": "", + "appServiceSlots": "array" + } + }, + "2.3.0": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "appInsightsSettings": { + "type": "", + "description": "Application Insights Settings." + }, + "netFrameworkVersion": { + "type": "", + "description": ".Net Framework version" + }, + "linuxFxVersion": { + "type": "", + "description": "Linux App Framework and version", + "default": "DOTNETCORE|8.0" + }, + "appCommandLine": { + "type": "string", + "description": "App command line to launch.", + "default": "" + }, + "clientAffinityEnabled": { + "type": "bool", + "description": "Turn Affinity Cookie on-off.", + "default": false + }, + "publicAccessSetting": { + "type": "", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON" + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "additionalAppSettings": { + "type": "object", + "description": "Additional app settings for App Service", + "default": {} + }, + "additionalSlotSettings": { + "type": "object", + "description": "Additional production slot app settings for App Service", + "default": {} + }, + "additionalConnectionStrings": { + "type": "", + "description": "Additional connectionStrings settings for App Service", + "default": {} + }, + "additionalSlotConnectionStrings": { + "type": "", + "description": "Additional production slot connectionStrings settings for App Service", + "default": {} + }, + "enableDatadog": { + "type": "bool", + "description": "Enable Datadog integration", + "default": false + }, + "datadogApiKey": { + "type": "securestring", + "description": "Name of the key vault containing the Datadog API Key", + "default": "" + }, + "fileMountInfo": { + "type": "", + "description": "A list of storage account file shared to mount.", + "default": {} + }, + "healthCheckPath": { + "type": "string", + "description": "Path for health check endpoint" + }, + "hostNameBindings": { + "type": "array", + "description": "Add custom domains for App Service", + "default": [] + }, + "allowedOrigins": { + "type": "array", + "description": "Gets or sets the list of origins that should be allowed to make cross-origin", + "default": [] + }, + "useDeploymentSlot": { + "type": "bool", + "description": "Add deployment slot", + "default": false + }, + "runFromPackage": { + "type": "bool", + "description": "Mounts the application files as readonly. May improve deployment times and cold start time, but does not allow usage of local files.", + "default": true + }, + "tlsVersion": { + "type": "", + "description": "", + "default": "1.3" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServiceAppHostName": "string", + "appServiceAppName": "string", + "appServiceId": "string", + "appServiceIdentityId": "string", + "appServicePrincipal": "", + "appServiceSlots": "array" + } + }, + "2.3.1": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "appInsightsSettings": { + "type": "", + "description": "Application Insights Settings." + }, + "netFrameworkVersion": { + "type": "", + "description": ".Net Framework version" + }, + "linuxFxVersion": { + "type": "", + "description": "Linux App Framework and version", + "default": "DOTNETCORE|8.0" + }, + "appCommandLine": { + "type": "string", + "description": "App command line to launch.", + "default": "" + }, + "clientAffinityEnabled": { + "type": "bool", + "description": "Turn Affinity Cookie on-off.", + "default": false + }, + "publicAccessSetting": { + "type": "", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON" + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "additionalAppSettings": { + "type": "object", + "description": "Additional app settings for App Service", + "default": {} + }, + "additionalSlotSettings": { + "type": "object", + "description": "Additional production slot app settings for App Service", + "default": {} + }, + "additionalConnectionStrings": { + "type": "", + "description": "Additional connectionStrings settings for App Service", + "default": {} + }, + "additionalSlotConnectionStrings": { + "type": "", + "description": "Additional production slot connectionStrings settings for App Service", + "default": {} + }, + "enableDatadog": { + "type": "bool", + "description": "Enable Datadog integration", + "default": false + }, + "datadogApiKey": { + "type": "securestring", + "description": "Name of the key vault containing the Datadog API Key", + "default": "" + }, + "fileMountInfo": { + "type": "", + "description": "A list of storage account file shared to mount.", + "default": {} + }, + "healthCheckPath": { + "type": "string", + "description": "Path for health check endpoint" + }, + "hostNameBindings": { + "type": "array", + "description": "Add custom domains for App Service", + "default": [] + }, + "allowedOrigins": { + "type": "array", + "description": "Gets or sets the list of origins that should be allowed to make cross-origin", + "default": [] + }, + "useDeploymentSlot": { + "type": "bool", + "description": "Add deployment slot", + "default": false + }, + "runFromPackage": { + "type": "bool", + "description": "Mounts the application files as readonly. May improve deployment times and cold start time, but does not allow usage of local files.", + "default": true + }, + "tlsVersion": { + "type": "", + "description": "", + "default": "1.3" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServiceAppHostName": "string", + "appServiceAppName": "string", + "appServiceId": "string", + "appServiceIdentityId": "string", + "appServicePrincipal": "", + "appServiceSlots": "array" + } + }, + "2.3.2": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "appInsightsSettings": { + "type": "", + "description": "Application Insights Settings." + }, + "netFrameworkVersion": { + "type": "", + "description": ".Net Framework version" + }, + "linuxFxVersion": { + "type": "", + "description": "Linux App Framework and version", + "default": "DOTNETCORE|8.0" + }, + "appCommandLine": { + "type": "string", + "description": "App command line to launch.", + "default": "" + }, + "clientAffinityEnabled": { + "type": "bool", + "description": "Turn Affinity Cookie on-off.", + "default": false + }, + "publicAccessSetting": { + "type": "", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON" + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "additionalAppSettings": { + "type": "object", + "description": "Additional app settings for App Service", + "default": {} + }, + "additionalSlotSettings": { + "type": "object", + "description": "Additional production slot app settings for App Service", + "default": {} + }, + "additionalConnectionStrings": { + "type": "", + "description": "Additional connectionStrings settings for App Service", + "default": {} + }, + "additionalSlotConnectionStrings": { + "type": "", + "description": "Additional production slot connectionStrings settings for App Service", + "default": {} + }, + "enableDatadog": { + "type": "bool", + "description": "Enable Datadog integration", + "default": false + }, + "datadogApiKey": { + "type": "securestring", + "description": "Name of the key vault containing the Datadog API Key", + "default": "" + }, + "fileMountInfo": { + "type": "", + "description": "A list of storage account file shared to mount.", + "default": {} + }, + "healthCheckPath": { + "type": "string", + "description": "Path for health check endpoint" + }, + "hostNameBindings": { + "type": "array", + "description": "Add custom domains for App Service", + "default": [] + }, + "allowedOrigins": { + "type": "array", + "description": "Gets or sets the list of origins that should be allowed to make cross-origin", + "default": [] + }, + "useDeploymentSlot": { + "type": "bool", + "description": "Add deployment slot", + "default": false + }, + "runFromPackage": { + "type": "bool", + "description": "Mounts the application files as readonly. May improve deployment times and cold start time, but does not allow usage of local files.", + "default": true + }, + "tlsVersion": { + "type": "", + "description": "", + "default": "1.3" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServiceAppHostName": "string", + "appServiceAppName": "string", + "appServiceId": "string", + "appServiceIdentityId": "string", + "appServicePrincipal": "", + "appServiceSlots": "array" + } + }, + "2.3.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "appInsightsSettings": { + "type": "", + "description": "Application Insights Settings." + }, + "netFrameworkVersion": { + "type": "", + "description": ".Net Framework version" + }, + "linuxFxVersion": { + "type": "", + "description": "Linux App Framework and version", + "default": "DOTNETCORE|8.0" + }, + "appCommandLine": { + "type": "string", + "description": "App command line to launch.", + "default": "" + }, + "clientAffinityEnabled": { + "type": "bool", + "description": "Turn Affinity Cookie on-off.", + "default": false + }, + "publicAccessSetting": { + "type": "", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON" + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "additionalAppSettings": { + "type": "object", + "description": "Additional app settings for App Service", + "default": {} + }, + "additionalSlotSettings": { + "type": "object", + "description": "Additional production slot app settings for App Service", + "default": {} + }, + "additionalConnectionStrings": { + "type": "", + "description": "Additional connectionStrings settings for App Service", + "default": {} + }, + "additionalSlotConnectionStrings": { + "type": "", + "description": "Additional production slot connectionStrings settings for App Service", + "default": {} + }, + "enableDatadog": { + "type": "bool", + "description": "Enable Datadog integration", + "default": false + }, + "datadogApiKey": { + "type": "securestring", + "description": "Name of the key vault containing the Datadog API Key", + "default": "" + }, + "fileMountInfo": { + "type": "", + "description": "A list of storage account file shared to mount.", + "default": {} + }, + "healthCheckPath": { + "type": "string", + "description": "Path for health check endpoint" + }, + "hostNameBindings": { + "type": "array", + "description": "Add custom domains for App Service", + "default": [] + }, + "allowedOrigins": { + "type": "array", + "description": "Gets or sets the list of origins that should be allowed to make cross-origin", + "default": [] + }, + "useDeploymentSlot": { + "type": "bool", + "description": "Add deployment slot", + "default": false + }, + "runFromPackage": { + "type": "bool", + "description": "Mounts the application files as readonly. May improve deployment times and cold start time, but does not allow usage of local files.", + "default": true + }, + "tlsVersion": { + "type": "", + "description": "", + "default": "1.3" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServiceAppHostName": "string", + "appServiceAppName": "string", + "appServiceId": "string", + "appServiceIdentityId": "string", + "appServicePrincipal": "", + "appServiceSlots": "array" + } + }, + "2.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "appInsightsSettings": { + "type": "", + "description": "Application Insights Settings." + }, + "netFrameworkVersion": { + "type": "", + "description": ".Net Framework version" + }, + "linuxFxVersion": { + "type": "", + "description": "Linux App Framework and version", + "default": "DOTNETCORE|8.0" + }, + "appCommandLine": { + "type": "string", + "description": "App command line to launch.", + "default": "" + }, + "clientAffinityEnabled": { + "type": "bool", + "description": "Turn Affinity Cookie on-off.", + "default": false + }, + "publicAccessSetting": { + "type": "", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON" + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "additionalAppSettings": { + "type": "object", + "description": "Additional app settings for App Service", + "default": {} + }, + "additionalSlotSettings": { + "type": "object", + "description": "Additional production slot app settings for App Service", + "default": {} + }, + "additionalConnectionStrings": { + "type": "", + "description": "Additional connectionStrings settings for App Service", + "default": {} + }, + "additionalSlotConnectionStrings": { + "type": "", + "description": "Additional production slot connectionStrings settings for App Service", + "default": {} + }, + "enableDatadog": { + "type": "bool", + "description": "Enable Datadog integration", + "default": false + }, + "datadogApiKey": { + "type": "securestring", + "description": "Name of the key vault containing the Datadog API Key", + "default": "" + }, + "fileMountInfo": { + "type": "", + "description": "A list of storage account file shared to mount.", + "default": {} + }, + "healthCheckPath": { + "type": "string", + "description": "Path for health check endpoint" + }, + "hostNameBindings": { + "type": "array", + "description": "Add custom domains for App Service", + "default": [] + }, + "allowedOrigins": { + "type": "array", + "description": "Gets or sets the list of origins that should be allowed to make cross-origin", + "default": [] + }, + "useDeploymentSlot": { + "type": "bool", + "description": "Add deployment slot", + "default": false + }, + "runFromPackage": { + "type": "bool", + "description": "Mounts the application files as readonly. May improve deployment times and cold start time, but does not allow usage of local files.", + "default": true + }, + "tlsVersion": { + "type": "", + "description": "", + "default": "1.3" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServiceAppHostName": "string", + "appServiceAppName": "string", + "appServiceId": "string", + "appServiceIdentityId": "string", + "appServicePrincipal": "", + "appServiceSlots": "array" + } + }, + "latest": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "appInsightsSettings": { + "type": "", + "description": "Application Insights Settings." + }, + "netFrameworkVersion": { + "type": "", + "description": ".Net Framework version" + }, + "linuxFxVersion": { + "type": "", + "description": "Linux App Framework and version", + "default": "DOTNETCORE|8.0" + }, + "appCommandLine": { + "type": "string", + "description": "App command line to launch.", + "default": "" + }, + "clientAffinityEnabled": { + "type": "bool", + "description": "Turn Affinity Cookie on-off.", + "default": false + }, + "publicAccessSetting": { + "type": "", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON" + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "additionalAppSettings": { + "type": "object", + "description": "Additional app settings for App Service", + "default": {} + }, + "additionalSlotSettings": { + "type": "object", + "description": "Additional production slot app settings for App Service", + "default": {} + }, + "additionalConnectionStrings": { + "type": "", + "description": "Additional connectionStrings settings for App Service", + "default": {} + }, + "additionalSlotConnectionStrings": { + "type": "", + "description": "Additional production slot connectionStrings settings for App Service", + "default": {} + }, + "enableDatadog": { + "type": "bool", + "description": "Enable Datadog integration", + "default": false + }, + "datadogApiKey": { + "type": "securestring", + "description": "Name of the key vault containing the Datadog API Key", + "default": "" + }, + "fileMountInfo": { + "type": "", + "description": "A list of storage account file shared to mount.", + "default": {} + }, + "healthCheckPath": { + "type": "string", + "description": "Path for health check endpoint" + }, + "hostNameBindings": { + "type": "array", + "description": "Add custom domains for App Service", + "default": [] + }, + "allowedOrigins": { + "type": "array", + "description": "Gets or sets the list of origins that should be allowed to make cross-origin", + "default": [] + }, + "useDeploymentSlot": { + "type": "bool", + "description": "Add deployment slot", + "default": false + }, + "runFromPackage": { + "type": "bool", + "description": "Mounts the application files as readonly. May improve deployment times and cold start time, but does not allow usage of local files.", + "default": true + }, + "tlsVersion": { + "type": "", + "description": "", + "default": "1.3" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServiceAppHostName": "string", + "appServiceAppName": "string", + "appServiceId": "string", + "appServiceIdentityId": "string", + "appServicePrincipal": "", + "appServiceSlots": "array" + } + } + } + }, + "bicep/modules/appserviceplan": { + "all_tags": [ + "1.0.0", + "1.0.x", + "1.x", + "2.0.0", + "2.0.x", + "2.x", + "2022-06-20", + "2022-08-02", + "2022-08-16", + "2023-11-20", + "2024-03-19", + "2024-05-14", + "latest", + "preview" + ], + "versions": [ + "1.0.0", + "1.0.x", + "1.x", + "2.0.0", + "2.0.x", + "2.x", + "latest" + ], + "schema": { + "1.0.0": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the App Service Plan." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "appServicePlanSkuName": { + "type": "string", + "description": "The SKU of App Service Plan.", + "default": "[if(equals(parameters('environmentType'), 'PROD'), 'P1V3', 'P0V3')]" + }, + "appServicePlanInstanceCount": { + "type": "int", + "description": "The number of App Service plan instances.", + "default": 1 + }, + "appServicePlanPlatform": { + "type": "string", + "description": "Select the OS type to deploy.", + "default": "Linux", + "allowed": [ + "Win", + "Linux" + ] + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServicePlanID": "string" + } + }, + "1.0.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the App Service Plan." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "appServicePlanSkuName": { + "type": "string", + "description": "The SKU of App Service Plan.", + "default": "[if(equals(parameters('environmentType'), 'PROD'), 'P1V3', 'P0V3')]" + }, + "appServicePlanInstanceCount": { + "type": "int", + "description": "The number of App Service plan instances.", + "default": 1 + }, + "appServicePlanPlatform": { + "type": "string", + "description": "Select the OS type to deploy.", + "default": "Linux", + "allowed": [ + "Win", + "Linux" + ] + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServicePlanID": "string" + } + }, + "1.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the App Service Plan." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "appServicePlanSkuName": { + "type": "string", + "description": "The SKU of App Service Plan.", + "default": "[if(equals(parameters('environmentType'), 'PROD'), 'P1V3', 'P0V3')]" + }, + "appServicePlanInstanceCount": { + "type": "int", + "description": "The number of App Service plan instances.", + "default": 1 + }, + "appServicePlanPlatform": { + "type": "string", + "description": "Select the OS type to deploy.", + "default": "Linux", + "allowed": [ + "Win", + "Linux" + ] + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServicePlanID": "string" + } + }, + "2.0.0": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the App Service Plan." + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "appServicePlanSkuName": { + "type": "string", + "description": "The SKU of App Service Plan.", + "default": "[if(equals(parameters('environmentType'), 'PROD'), 'P1V3', 'P0V3')]" + }, + "appServicePlanInstanceCount": { + "type": "int", + "description": "The number of App Service plan instances.", + "default": 1 + }, + "appServicePlanPlatform": { + "type": "", + "description": "Select the OS type to deploy.", + "default": "Linux" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServicePlanID": "string" + } + }, + "2.0.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the App Service Plan." + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "appServicePlanSkuName": { + "type": "string", + "description": "The SKU of App Service Plan.", + "default": "[if(equals(parameters('environmentType'), 'PROD'), 'P1V3', 'P0V3')]" + }, + "appServicePlanInstanceCount": { + "type": "int", + "description": "The number of App Service plan instances.", + "default": 1 + }, + "appServicePlanPlatform": { + "type": "", + "description": "Select the OS type to deploy.", + "default": "Linux" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServicePlanID": "string" + } + }, + "2.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the App Service Plan." + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "appServicePlanSkuName": { + "type": "string", + "description": "The SKU of App Service Plan.", + "default": "[if(equals(parameters('environmentType'), 'PROD'), 'P1V3', 'P0V3')]" + }, + "appServicePlanInstanceCount": { + "type": "int", + "description": "The number of App Service plan instances.", + "default": 1 + }, + "appServicePlanPlatform": { + "type": "", + "description": "Select the OS type to deploy.", + "default": "Linux" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServicePlanID": "string" + } + }, + "latest": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the App Service Plan." + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "appServicePlanSkuName": { + "type": "string", + "description": "The SKU of App Service Plan.", + "default": "[if(equals(parameters('environmentType'), 'PROD'), 'P1V3', 'P0V3')]" + }, + "appServicePlanInstanceCount": { + "type": "int", + "description": "The number of App Service plan instances.", + "default": 1 + }, + "appServicePlanPlatform": { + "type": "", + "description": "Select the OS type to deploy.", + "default": "Linux" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "appServicePlanID": "string" + } + } + } + }, + "bicep/modules/cdn": { + "all_tags": [ + "1.0.0", + "1.0.x", + "1.x", + "2.0.0", + "2.0.x", + "2.x", + "2024-04-23", + "2024-05-14", + "2024-08-15", + "latest", + "preview" + ], + "versions": [ + "1.0.0", + "1.0.x", + "1.x", + "2.0.0", + "2.0.x", + "2.x", + "latest" + ], + "schema": { + "1.0.0": { + "parameters": { + "profileName": { + "type": "string", + "description": "Name of the CDN Profile" + }, + "endpointName": { + "type": "string", + "description": "Name of the CDN Endpoint, must be unique" + }, + "originName": { + "type": "string", + "description": "Name of the origin" + }, + "hostName": { + "type": "string", + "description": "Url of the origin" + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "CDNSku": { + "type": "string", + "description": "CDN SKU names", + "default": "Standard_Microsoft", + "allowed": [ + "Standard_Akamai", + "Standard_Microsoft", + "Standard_Verizon", + "Premium_Verizon" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "1.0.x": { + "parameters": { + "profileName": { + "type": "string", + "description": "Name of the CDN Profile" + }, + "endpointName": { + "type": "string", + "description": "Name of the CDN Endpoint, must be unique" + }, + "originName": { + "type": "string", + "description": "Name of the origin" + }, + "hostName": { + "type": "string", + "description": "Url of the origin" + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "CDNSku": { + "type": "string", + "description": "CDN SKU names", + "default": "Standard_Microsoft", + "allowed": [ + "Standard_Akamai", + "Standard_Microsoft", + "Standard_Verizon", + "Premium_Verizon" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "1.x": { + "parameters": { + "profileName": { + "type": "string", + "description": "Name of the CDN Profile" + }, + "endpointName": { + "type": "string", + "description": "Name of the CDN Endpoint, must be unique" + }, + "originName": { + "type": "string", + "description": "Name of the origin" + }, + "hostName": { + "type": "string", + "description": "Url of the origin" + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "CDNSku": { + "type": "string", + "description": "CDN SKU names", + "default": "Standard_Microsoft", + "allowed": [ + "Standard_Akamai", + "Standard_Microsoft", + "Standard_Verizon", + "Premium_Verizon" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "2.0.0": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the project." + }, + "originName": { + "type": "string", + "description": "Name of the origin" + }, + "hostName": { + "type": "string", + "description": "Url of the origin" + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "CDNSku": { + "type": "", + "description": "The CDN SKU.", + "default": "Standard_Microsoft" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "2.0.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the project." + }, + "originName": { + "type": "string", + "description": "Name of the origin" + }, + "hostName": { + "type": "string", + "description": "Url of the origin" + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "CDNSku": { + "type": "", + "description": "The CDN SKU.", + "default": "Standard_Microsoft" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "2.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the project." + }, + "originName": { + "type": "string", + "description": "Name of the origin" + }, + "hostName": { + "type": "string", + "description": "Url of the origin" + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "CDNSku": { + "type": "", + "description": "The CDN SKU.", + "default": "Standard_Microsoft" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "latest": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the project." + }, + "originName": { + "type": "string", + "description": "Name of the origin" + }, + "hostName": { + "type": "string", + "description": "Url of the origin" + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "CDNSku": { + "type": "", + "description": "The CDN SKU.", + "default": "Standard_Microsoft" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + } + } + }, + "bicep/modules/configurationstores": { + "all_tags": [ + "1.0.0", + "1.0.x", + "1.x", + "2.0.0", + "2.0.x", + "2.x", + "2023-06-14", + "2023-06-15", + "2024-03-20", + "latest", + "preview" + ], + "versions": [ + "1.0.0", + "1.0.x", + "1.x", + "2.0.0", + "2.0.x", + "2.x", + "latest" + ], + "schema": { + "1.0.0": { + "parameters": { + "projectName": { + "type": "string", + "description": "Specifies the name of the App Configuration store." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "configSettings": { + "type": "array", + "description": "The key-value and content type resources", + "default": [ + {} + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "1.0.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Specifies the name of the App Configuration store." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "configSettings": { + "type": "array", + "description": "The key-value and content type resources", + "default": [ + {} + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "1.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Specifies the name of the App Configuration store." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "configSettings": { + "type": "array", + "description": "The key-value and content type resources", + "default": [ + {} + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "2.0.0": { + "parameters": { + "projectName": { + "type": "", + "description": "Specifies the name of the App Configuration store." + }, + "environmentType": { + "type": "", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "configSettings": { + "type": "array", + "description": "The key-value and content type resources", + "default": [] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "2.0.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Specifies the name of the App Configuration store." + }, + "environmentType": { + "type": "", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "configSettings": { + "type": "array", + "description": "The key-value and content type resources", + "default": [] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "2.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Specifies the name of the App Configuration store." + }, + "environmentType": { + "type": "", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "configSettings": { + "type": "array", + "description": "The key-value and content type resources", + "default": [] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "latest": { + "parameters": { + "projectName": { + "type": "", + "description": "Specifies the name of the App Configuration store." + }, + "environmentType": { + "type": "", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "configSettings": { + "type": "array", + "description": "The key-value and content type resources", + "default": [] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + } + } + }, + "bicep/modules/functionapp": { + "all_tags": [ + "1.0.0", + "1.0.1", + "1.0.3", + "1.0.4", + "1.0.x", + "1.x", + "2.0.0", + "2.0.1", + "2.0.2", + "2.0.x", + "2.x", + "2022-08-04", + "2022-08-05", + "2022-08-08", + "2022-08-09", + "2022-08-16", + "2022-08-17", + "2022-08-30", + "2022-09-08", + "2022-09-09", + "2022-11-01", + "2023-06-07", + "2023-06-08", + "2023-06-09", + "2023-06-29", + "2023-06-30", + "2023-07-06", + "2023-07-07", + "2023-10-03", + "2023-10-13", + "2023-11-10", + "2023-11-13", + "2024-01-17", + "2024-03-19", + "2024-03-21", + "2024-05-14", + "latest", + "preview" + ], + "versions": [ + "1.0.0", + "1.0.1", + "1.0.3", + "1.0.4", + "1.0.x", + "1.x", + "2.0.0", + "2.0.1", + "2.0.2", + "2.0.x", + "2.x", + "latest" + ], + "schema": { + "1.0.0": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the Function App Service." + }, + "storageName": { + "type": "string", + "description": "Storage name. Alternative to default name for Function App Service.", + "default": "" + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "linuxFxVersion": { + "type": "string", + "description": "Linux App Framework and version", + "default": "DOTNET|8.0", + "allowed": [ + "DOTNET|8.0", + "DOTNET|7.0", + "DOTNET-ISOLATED|8.0", + "DOTNET-ISOLATED|7.0", + "DOTNET|6.0", + "NODE|16-lts", + "NODE|18-lts" + ] + }, + "additionalFunctionAppSettings": { + "type": "object", + "description": "Additional app settings for Function App Service", + "default": {} + }, + "additionalFunctionConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for Function App Service", + "default": {} + }, + "runtime": { + "type": "string", + "description": "The language worker runtime to load in the function app.", + "default": "node", + "allowed": [ + "node", + "dotnet", + "dotnet-isolated" + ] + }, + "publicAccessSetting": { + "type": "string", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON", + "allowed": [ + "ON", + "WHITELIST", + "OFF" + ] + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "functionAppId": "string", + "functionAppIdentityId": "string" + } + }, + "1.0.1": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the Function App Service." + }, + "storageName": { + "type": "string", + "description": "Storage name. Alternative to default name for Function App Service.", + "default": "" + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "linuxFxVersion": { + "type": "string", + "description": "Linux App Framework and version", + "default": "DOTNET|8.0", + "allowed": [ + "DOTNET|8.0", + "DOTNET|7.0", + "DOTNET-ISOLATED|8.0", + "DOTNET-ISOLATED|7.0", + "DOTNET|6.0", + "NODE|16-lts", + "NODE|18-lts" + ] + }, + "additionalFunctionAppSettings": { + "type": "object", + "description": "Additional app settings for Function App Service", + "default": {} + }, + "additionalFunctionConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for Function App Service", + "default": {} + }, + "runtime": { + "type": "string", + "description": "The language worker runtime to load in the function app.", + "default": "node", + "allowed": [ + "node", + "dotnet", + "dotnet-isolated" + ] + }, + "publicAccessSetting": { + "type": "string", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON", + "allowed": [ + "ON", + "WHITELIST", + "OFF" + ] + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "functionAppId": "string", + "functionAppIdentityId": "string" + } + }, + "1.0.3": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the Function App Service." + }, + "storageName": { + "type": "string", + "description": "Storage name. Alternative to default name for Function App Service.", + "default": "" + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "linuxFxVersion": { + "type": "string", + "description": "Linux App Framework and version", + "default": "DOTNET|8.0", + "allowed": [ + "DOTNET|8.0", + "DOTNET|7.0", + "DOTNET-ISOLATED|8.0", + "DOTNET-ISOLATED|7.0", + "DOTNET|6.0", + "NODE|16-lts", + "NODE|18-lts" + ] + }, + "additionalFunctionAppSettings": { + "type": "object", + "description": "Additional app settings for Function App Service", + "default": {} + }, + "additionalFunctionConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for Function App Service", + "default": {} + }, + "runtime": { + "type": "string", + "description": "The language worker runtime to load in the function app.", + "default": "node", + "allowed": [ + "node", + "dotnet", + "dotnet-isolated" + ] + }, + "publicAccessSetting": { + "type": "string", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON", + "allowed": [ + "ON", + "WHITELIST", + "OFF" + ] + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "functionAppId": "string", + "functionAppIdentityId": "string" + } + }, + "1.0.4": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the Function App Service." + }, + "storageName": { + "type": "string", + "description": "Storage name. Alternative to default name for Function App Service.", + "default": "" + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "linuxFxVersion": { + "type": "string", + "description": "Linux App Framework and version", + "default": "DOTNET|8.0", + "allowed": [ + "DOTNET|8.0", + "DOTNET|7.0", + "DOTNET-ISOLATED|9.0", + "DOTNET-ISOLATED|8.0", + "DOTNET-ISOLATED|7.0", + "DOTNET|6.0", + "NODE|16-lts", + "NODE|18-lts" + ] + }, + "additionalFunctionAppSettings": { + "type": "object", + "description": "Additional app settings for Function App Service", + "default": {} + }, + "additionalFunctionConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for Function App Service", + "default": {} + }, + "runtime": { + "type": "string", + "description": "The language worker runtime to load in the function app.", + "default": "node", + "allowed": [ + "node", + "dotnet", + "dotnet-isolated" + ] + }, + "publicAccessSetting": { + "type": "string", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON", + "allowed": [ + "ON", + "WHITELIST", + "OFF" + ] + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "functionAppId": "string", + "functionAppIdentityId": "string" + } + }, + "1.0.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the Function App Service." + }, + "storageName": { + "type": "string", + "description": "Storage name. Alternative to default name for Function App Service.", + "default": "" + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "linuxFxVersion": { + "type": "string", + "description": "Linux App Framework and version", + "default": "DOTNET|8.0", + "allowed": [ + "DOTNET|8.0", + "DOTNET|7.0", + "DOTNET-ISOLATED|9.0", + "DOTNET-ISOLATED|8.0", + "DOTNET-ISOLATED|7.0", + "DOTNET|6.0", + "NODE|16-lts", + "NODE|18-lts" + ] + }, + "additionalFunctionAppSettings": { + "type": "object", + "description": "Additional app settings for Function App Service", + "default": {} + }, + "additionalFunctionConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for Function App Service", + "default": {} + }, + "runtime": { + "type": "string", + "description": "The language worker runtime to load in the function app.", + "default": "node", + "allowed": [ + "node", + "dotnet", + "dotnet-isolated" + ] + }, + "publicAccessSetting": { + "type": "string", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON", + "allowed": [ + "ON", + "WHITELIST", + "OFF" + ] + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "functionAppId": "string", + "functionAppIdentityId": "string" + } + }, + "1.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the Function App Service." + }, + "storageName": { + "type": "string", + "description": "Storage name. Alternative to default name for Function App Service.", + "default": "" + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "linuxFxVersion": { + "type": "string", + "description": "Linux App Framework and version", + "default": "DOTNET|8.0", + "allowed": [ + "DOTNET|8.0", + "DOTNET|7.0", + "DOTNET-ISOLATED|9.0", + "DOTNET-ISOLATED|8.0", + "DOTNET-ISOLATED|7.0", + "DOTNET|6.0", + "NODE|16-lts", + "NODE|18-lts" + ] + }, + "additionalFunctionAppSettings": { + "type": "object", + "description": "Additional app settings for Function App Service", + "default": {} + }, + "additionalFunctionConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for Function App Service", + "default": {} + }, + "runtime": { + "type": "string", + "description": "The language worker runtime to load in the function app.", + "default": "node", + "allowed": [ + "node", + "dotnet", + "dotnet-isolated" + ] + }, + "publicAccessSetting": { + "type": "string", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON", + "allowed": [ + "ON", + "WHITELIST", + "OFF" + ] + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "functionAppId": "string", + "functionAppIdentityId": "string" + } + }, + "2.0.0": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the Function App Service." + }, + "storageName": { + "type": "string", + "description": "Storage name. Alternative to default name for Function App Service.", + "default": "" + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "appInsightsSettings": { + "type": "", + "description": "Application Insights Settings." + }, + "linuxFxVersion": { + "type": "", + "description": "Linux App Framework and version", + "default": "DOTNET|8.0" + }, + "additionalFunctionAppSettings": { + "type": "object", + "description": "Additional app settings for Function App Service", + "default": {} + }, + "additionalFunctionConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for Function App Service", + "default": {} + }, + "runtime": { + "type": "string", + "description": "The language worker runtime to load in the function app.", + "default": "node", + "allowed": [ + "node", + "dotnet", + "dotnet-isolated" + ] + }, + "publicAccessSetting": { + "type": "", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON" + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "functionAppId": "string", + "functionAppIdentityId": "string", + "functionAppPrincipal": "" + } + }, + "2.0.1": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the Function App Service." + }, + "storageName": { + "type": "string", + "description": "Storage name. Alternative to default name for Function App Service.", + "default": "" + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "appInsightsSettings": { + "type": "", + "description": "Application Insights Settings." + }, + "linuxFxVersion": { + "type": "", + "description": "Linux App Framework and version", + "default": "DOTNET|8.0" + }, + "additionalFunctionAppSettings": { + "type": "object", + "description": "Additional app settings for Function App Service", + "default": {} + }, + "additionalFunctionConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for Function App Service", + "default": {} + }, + "runtime": { + "type": "string", + "description": "The language worker runtime to load in the function app.", + "default": "node", + "allowed": [ + "node", + "dotnet", + "dotnet-isolated" + ] + }, + "publicAccessSetting": { + "type": "", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON" + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "functionAppId": "string", + "functionAppIdentityId": "string", + "functionAppPrincipal": "" + } + }, + "2.0.2": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the Function App Service." + }, + "storageName": { + "type": "string", + "description": "Storage name. Alternative to default name for Function App Service.", + "default": "" + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "appInsightsSettings": { + "type": "", + "description": "Application Insights Settings." + }, + "linuxFxVersion": { + "type": "", + "description": "Linux App Framework and version", + "default": "DOTNET|8.0" + }, + "additionalFunctionAppSettings": { + "type": "object", + "description": "Additional app settings for Function App Service", + "default": {} + }, + "additionalFunctionConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for Function App Service", + "default": {} + }, + "runtime": { + "type": "string", + "description": "The language worker runtime to load in the function app.", + "default": "node", + "allowed": [ + "node", + "dotnet", + "dotnet-isolated" + ] + }, + "publicAccessSetting": { + "type": "", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON" + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "functionAppId": "string", + "functionAppIdentityId": "string", + "functionAppPrincipal": "" + } + }, + "2.0.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the Function App Service." + }, + "storageName": { + "type": "string", + "description": "Storage name. Alternative to default name for Function App Service.", + "default": "" + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "appInsightsSettings": { + "type": "", + "description": "Application Insights Settings." + }, + "linuxFxVersion": { + "type": "", + "description": "Linux App Framework and version", + "default": "DOTNET|8.0" + }, + "additionalFunctionAppSettings": { + "type": "object", + "description": "Additional app settings for Function App Service", + "default": {} + }, + "additionalFunctionConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for Function App Service", + "default": {} + }, + "runtime": { + "type": "string", + "description": "The language worker runtime to load in the function app.", + "default": "node", + "allowed": [ + "node", + "dotnet", + "dotnet-isolated" + ] + }, + "publicAccessSetting": { + "type": "", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON" + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "functionAppId": "string", + "functionAppIdentityId": "string", + "functionAppPrincipal": "" + } + }, + "2.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the Function App Service." + }, + "storageName": { + "type": "string", + "description": "Storage name. Alternative to default name for Function App Service.", + "default": "" + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "appInsightsSettings": { + "type": "", + "description": "Application Insights Settings." + }, + "linuxFxVersion": { + "type": "", + "description": "Linux App Framework and version", + "default": "DOTNET|8.0" + }, + "additionalFunctionAppSettings": { + "type": "object", + "description": "Additional app settings for Function App Service", + "default": {} + }, + "additionalFunctionConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for Function App Service", + "default": {} + }, + "runtime": { + "type": "string", + "description": "The language worker runtime to load in the function app.", + "default": "node", + "allowed": [ + "node", + "dotnet", + "dotnet-isolated" + ] + }, + "publicAccessSetting": { + "type": "", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON" + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "functionAppId": "string", + "functionAppIdentityId": "string", + "functionAppPrincipal": "" + } + }, + "latest": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the Function App Service." + }, + "storageName": { + "type": "string", + "description": "Storage name. Alternative to default name for Function App Service.", + "default": "" + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "appServicePlanID": { + "type": "string", + "description": "ID of the App Service Plan" + }, + "appInsightsSettings": { + "type": "", + "description": "Application Insights Settings." + }, + "linuxFxVersion": { + "type": "", + "description": "Linux App Framework and version", + "default": "DOTNET|8.0" + }, + "additionalFunctionAppSettings": { + "type": "object", + "description": "Additional app settings for Function App Service", + "default": {} + }, + "additionalFunctionConnectionStrings": { + "type": "object", + "description": "Additional connectionStrings settings for Function App Service", + "default": {} + }, + "runtime": { + "type": "string", + "description": "The language worker runtime to load in the function app.", + "default": "node", + "allowed": [ + "node", + "dotnet", + "dotnet-isolated" + ] + }, + "publicAccessSetting": { + "type": "", + "description": "Public access setting. This does not affect the possibility of private access.", + "default": "ON" + }, + "publicIpWhitelist": { + "type": "array", + "description": "Array of objects. Expected keys are \"ipAddressRange\" and \"description\"", + "default": [] + }, + "appServiceSubnetId": { + "type": "string", + "description": "Virtual Network Subnet Id for outbound internal traffic.", + "default": "" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "functionAppId": "string", + "functionAppIdentityId": "string", + "functionAppPrincipal": "" + } + } + } + }, + "bicep/modules/keyvault": { + "all_tags": [ + "1.0.0", + "1.0.x", + "1.x", + "2.0.0", + "2.0.x", + "2.1.0", + "2.1.x", + "2.x", + "2022-06-24", + "2022-06-29", + "2022-08-12", + "2022-08-17", + "2022-08-18", + "2022-08-19", + "2022-08-22", + "2022-09-08", + "2023-02-28", + "2023-03-09", + "2023-03-15", + "2023-06-23", + "2023-06-27", + "2023-09-25", + "2023-09-27", + "2023-09-29", + "2023-11-01", + "2023-11-08", + "2024-03-19", + "latest", + "preview" + ], + "versions": [ + "1.0.0", + "1.0.x", + "1.x", + "2.0.0", + "2.0.x", + "2.1.0", + "2.1.x", + "2.x", + "latest" + ], + "schema": { + "1.0.0": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of KeyVault" + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "databaseSecret": { + "type": "bool", + "description": "Create a secret password for the database", + "default": false + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "keyVaultSku": { + "type": "string", + "description": "The SKU of KeyVault.", + "default": "standard" + }, + "aditionalAccess": { + "type": "array", + "description": "List of objectIds that need read access to secrets" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "keyVaultName": "string" + } + }, + "1.0.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of KeyVault" + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "databaseSecret": { + "type": "bool", + "description": "Create a secret password for the database", + "default": false + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "keyVaultSku": { + "type": "string", + "description": "The SKU of KeyVault.", + "default": "standard" + }, + "aditionalAccess": { + "type": "array", + "description": "List of objectIds that need read access to secrets" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "keyVaultName": "string" + } + }, + "1.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of KeyVault" + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "databaseSecret": { + "type": "bool", + "description": "Create a secret password for the database", + "default": false + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "keyVaultSku": { + "type": "string", + "description": "The SKU of KeyVault.", + "default": "standard" + }, + "aditionalAccess": { + "type": "array", + "description": "List of objectIds that need read access to secrets" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "keyVaultName": "string" + } + }, + "2.0.0": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of KeyVault" + }, + "environmentType": { + "type": "", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "databaseSecret": { + "type": "bool", + "description": "Create a secret password for the database", + "default": false + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "keyVaultSku": { + "type": "string", + "description": "The SKU of KeyVault.", + "default": "standard" + }, + "accessType": { + "type": "string", + "description": "Whether access policies or RBAC is used to grant access to the vault.", + "default": "Access Policy", + "allowed": [ + "Access Policy", + "RBAC" + ] + }, + "additionalAccess": { + "type": "array", + "description": "List of objectIds that need read access to secrets. Only applies if `accessType` is 'Access Policy'" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "keyVaultName": "string" + } + }, + "2.0.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of KeyVault" + }, + "environmentType": { + "type": "", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "databaseSecret": { + "type": "bool", + "description": "Create a secret password for the database", + "default": false + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "keyVaultSku": { + "type": "string", + "description": "The SKU of KeyVault.", + "default": "standard" + }, + "accessType": { + "type": "string", + "description": "Whether access policies or RBAC is used to grant access to the vault.", + "default": "Access Policy", + "allowed": [ + "Access Policy", + "RBAC" + ] + }, + "additionalAccess": { + "type": "array", + "description": "List of objectIds that need read access to secrets. Only applies if `accessType` is 'Access Policy'" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "keyVaultName": "string" + } + }, + "2.1.0": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of KeyVault" + }, + "environmentType": { + "type": "", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "databaseSecret": { + "type": "bool", + "description": "Create a secret password for the database", + "default": false + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "keyVaultSku": { + "type": "string", + "description": "The SKU of KeyVault.", + "default": "standard" + }, + "accessType": { + "type": "string", + "description": "Whether access policies or RBAC is used to grant access to the vault.", + "default": "Access Policy", + "allowed": [ + "Access Policy", + "RBAC" + ] + }, + "additionalAccess": { + "type": "array", + "description": "List of objectIds that need read access to secrets. Only applies if `accessType` is 'Access Policy'" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "databaseSecret": "securestring", + "keyVaultName": "string" + } + }, + "2.1.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of KeyVault" + }, + "environmentType": { + "type": "", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "databaseSecret": { + "type": "bool", + "description": "Create a secret password for the database", + "default": false + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "keyVaultSku": { + "type": "string", + "description": "The SKU of KeyVault.", + "default": "standard" + }, + "accessType": { + "type": "string", + "description": "Whether access policies or RBAC is used to grant access to the vault.", + "default": "Access Policy", + "allowed": [ + "Access Policy", + "RBAC" + ] + }, + "additionalAccess": { + "type": "array", + "description": "List of objectIds that need read access to secrets. Only applies if `accessType` is 'Access Policy'" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "databaseSecret": "securestring", + "keyVaultName": "string" + } + }, + "2.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of KeyVault" + }, + "environmentType": { + "type": "", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "databaseSecret": { + "type": "bool", + "description": "Create a secret password for the database", + "default": false + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "keyVaultSku": { + "type": "string", + "description": "The SKU of KeyVault.", + "default": "standard" + }, + "accessType": { + "type": "string", + "description": "Whether access policies or RBAC is used to grant access to the vault.", + "default": "Access Policy", + "allowed": [ + "Access Policy", + "RBAC" + ] + }, + "additionalAccess": { + "type": "array", + "description": "List of objectIds that need read access to secrets. Only applies if `accessType` is 'Access Policy'" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "databaseSecret": "securestring", + "keyVaultName": "string" + } + }, + "latest": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of KeyVault" + }, + "environmentType": { + "type": "", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "databaseSecret": { + "type": "bool", + "description": "Create a secret password for the database", + "default": false + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "keyVaultSku": { + "type": "string", + "description": "The SKU of KeyVault.", + "default": "standard" + }, + "accessType": { + "type": "string", + "description": "Whether access policies or RBAC is used to grant access to the vault.", + "default": "Access Policy", + "allowed": [ + "Access Policy", + "RBAC" + ] + }, + "additionalAccess": { + "type": "array", + "description": "List of objectIds that need read access to secrets. Only applies if `accessType` is 'Access Policy'" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "databaseSecret": "securestring", + "keyVaultName": "string" + } + } + } + }, + "bicep/modules/networkhub": { + "all_tags": [ + "1.0.0", + "1.0.x", + "1.1.0", + "1.1.1", + "1.1.x", + "1.x", + "2.0.0", + "2.0.x", + "2.x", + "2023-06-12", + "2023-06-13", + "2023-06-19", + "2023-06-21", + "2023-06-23", + "2023-06-27", + "2023-07-04", + "2023-07-05", + "2023-07-06", + "2023-07-07", + "2023-07-12", + "2023-11-16", + "2024-03-18", + "2024-03-19", + "2024-05-14", + "2024-06-10", + "2024-06-11", + "2024-07-08", + "latest", + "preview" + ], + "versions": [ + "1.0.0", + "1.0.x", + "1.1.0", + "1.1.1", + "1.1.x", + "1.x", + "2.0.0", + "2.0.x", + "2.x", + "latest" + ], + "schema": { + "1.0.0": { + "parameters": { + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "PROD", + "NONPROD" + ] + }, + "projectName": { + "type": "string", + "description": "Name of the project." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "virtualNetworkName": { + "type": "string", + "description": "Obtained from the networkHubParameters module." + }, + "privateDNSZoneList": { + "type": "array", + "description": "Obtained from the networkHubParameters module." + }, + "ipPlan": { + "type": "object", + "description": "Obtained from the networkIpPlan module." + }, + "keyVaultName": { + "type": "string", + "description": "The name of the operations key vault." + }, + "keyVaultResourceGroupName": { + "type": "string", + "description": "The name of the resource group containing the operations key vault." + }, + "keyVaultSubscriptionId": { + "type": "string", + "description": "The name of the subscription containing the operations key vault." + }, + "vpnApplicationId": { + "type": "string", + "description": "The application id for the VPN audience in Azure Active Directory." + }, + "rootCertificateNames": { + "type": "array", + "description": "List of valid root certificate names." + }, + "rootCertificateAmount": { + "type": "int", + "description": "Amount of root certificates. Must match the number of items in rootCertificateNames.", + "allowed": [ + 1, + 2 + ] + }, + "revokedCertificateThumbprints": { + "type": "array", + "description": "List of revoked client certificate SHA1 thumbprints." + } + }, + "outputs": { + "vpnGatewayName": "string", + "vpnGatewayId": "string" + } + }, + "1.0.x": { + "parameters": { + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "PROD", + "NONPROD" + ] + }, + "projectName": { + "type": "string", + "description": "Name of the project." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "virtualNetworkName": { + "type": "string", + "description": "Obtained from the networkHubParameters module." + }, + "privateDNSZoneList": { + "type": "array", + "description": "Obtained from the networkHubParameters module." + }, + "ipPlan": { + "type": "object", + "description": "Obtained from the networkIpPlan module." + }, + "keyVaultName": { + "type": "string", + "description": "The name of the operations key vault." + }, + "keyVaultResourceGroupName": { + "type": "string", + "description": "The name of the resource group containing the operations key vault." + }, + "keyVaultSubscriptionId": { + "type": "string", + "description": "The name of the subscription containing the operations key vault." + }, + "vpnApplicationId": { + "type": "string", + "description": "The application id for the VPN audience in Azure Active Directory." + }, + "rootCertificateNames": { + "type": "array", + "description": "List of valid root certificate names." + }, + "rootCertificateAmount": { + "type": "int", + "description": "Amount of root certificates. Must match the number of items in rootCertificateNames.", + "allowed": [ + 1, + 2 + ] + }, + "revokedCertificateThumbprints": { + "type": "array", + "description": "List of revoked client certificate SHA1 thumbprints." + } + }, + "outputs": { + "vpnGatewayName": "string", + "vpnGatewayId": "string" + } + }, + "1.1.0": { + "parameters": { + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "PROD", + "NONPROD" + ] + }, + "projectName": { + "type": "string", + "description": "Name of the project." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "virtualNetworkName": { + "type": "string", + "description": "Obtained from the networkHubParameters module." + }, + "privateDNSZoneList": { + "type": "array", + "description": "Obtained from the networkHubParameters module." + }, + "ipPlan": { + "type": "object", + "description": "Obtained from the networkIpPlan module." + }, + "keyVaultName": { + "type": "string", + "description": "The name of the operations key vault." + }, + "keyVaultResourceGroupName": { + "type": "string", + "description": "The name of the resource group containing the operations key vault." + }, + "keyVaultSubscriptionId": { + "type": "string", + "description": "The name of the subscription containing the operations key vault." + }, + "vpnApplicationId": { + "type": "string", + "description": "The application id for the VPN audience in Azure Active Directory." + }, + "rootCertificateNames": { + "type": "array", + "description": "List of valid root certificate names." + }, + "rootCertificateAmount": { + "type": "int", + "description": "Amount of root certificates. Must match the number of items in rootCertificateNames.", + "allowed": [ + 1, + 2 + ] + }, + "revokedCertificateThumbprints": { + "type": "array", + "description": "List of revoked client certificate SHA1 thumbprints." + } + }, + "outputs": { + "vpnGatewayName": "string", + "vpnGatewayId": "string" + } + }, + "1.1.1": { + "parameters": { + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "PROD", + "NONPROD" + ] + }, + "projectName": { + "type": "string", + "description": "Name of the project." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "virtualNetworkName": { + "type": "string", + "description": "Obtained from the networkHubParameters module." + }, + "privateDNSZoneList": { + "type": "array", + "description": "Obtained from the networkHubParameters module." + }, + "ipPlan": { + "type": "object", + "description": "Obtained from the networkIpPlan module." + }, + "keyVaultName": { + "type": "string", + "description": "The name of the operations key vault." + }, + "keyVaultResourceGroupName": { + "type": "string", + "description": "The name of the resource group containing the operations key vault." + }, + "keyVaultSubscriptionId": { + "type": "string", + "description": "The name of the subscription containing the operations key vault." + }, + "vpnApplicationId": { + "type": "string", + "description": "The application id for the VPN audience in Azure Active Directory." + }, + "rootCertificateNames": { + "type": "array", + "description": "List of valid root certificate names." + }, + "rootCertificateAmount": { + "type": "int", + "description": "Amount of root certificates. Must match the number of items in rootCertificateNames.", + "allowed": [ + 1, + 2 + ] + }, + "revokedCertificateThumbprints": { + "type": "array", + "description": "List of revoked client certificate SHA1 thumbprints." + } + }, + "outputs": { + "vpnGatewayName": "string", + "vpnGatewayId": "string" + } + }, + "1.1.x": { + "parameters": { + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "PROD", + "NONPROD" + ] + }, + "projectName": { + "type": "string", + "description": "Name of the project." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "virtualNetworkName": { + "type": "string", + "description": "Obtained from the networkHubParameters module." + }, + "privateDNSZoneList": { + "type": "array", + "description": "Obtained from the networkHubParameters module." + }, + "ipPlan": { + "type": "object", + "description": "Obtained from the networkIpPlan module." + }, + "keyVaultName": { + "type": "string", + "description": "The name of the operations key vault." + }, + "keyVaultResourceGroupName": { + "type": "string", + "description": "The name of the resource group containing the operations key vault." + }, + "keyVaultSubscriptionId": { + "type": "string", + "description": "The name of the subscription containing the operations key vault." + }, + "vpnApplicationId": { + "type": "string", + "description": "The application id for the VPN audience in Azure Active Directory." + }, + "rootCertificateNames": { + "type": "array", + "description": "List of valid root certificate names." + }, + "rootCertificateAmount": { + "type": "int", + "description": "Amount of root certificates. Must match the number of items in rootCertificateNames.", + "allowed": [ + 1, + 2 + ] + }, + "revokedCertificateThumbprints": { + "type": "array", + "description": "List of revoked client certificate SHA1 thumbprints." + } + }, + "outputs": { + "vpnGatewayName": "string", + "vpnGatewayId": "string" + } + }, + "1.x": { + "parameters": { + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "PROD", + "NONPROD" + ] + }, + "projectName": { + "type": "string", + "description": "Name of the project." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "virtualNetworkName": { + "type": "string", + "description": "Obtained from the networkHubParameters module." + }, + "privateDNSZoneList": { + "type": "array", + "description": "Obtained from the networkHubParameters module." + }, + "ipPlan": { + "type": "object", + "description": "Obtained from the networkIpPlan module." + }, + "keyVaultName": { + "type": "string", + "description": "The name of the operations key vault." + }, + "keyVaultResourceGroupName": { + "type": "string", + "description": "The name of the resource group containing the operations key vault." + }, + "keyVaultSubscriptionId": { + "type": "string", + "description": "The name of the subscription containing the operations key vault." + }, + "vpnApplicationId": { + "type": "string", + "description": "The application id for the VPN audience in Azure Active Directory." + }, + "rootCertificateNames": { + "type": "array", + "description": "List of valid root certificate names." + }, + "rootCertificateAmount": { + "type": "int", + "description": "Amount of root certificates. Must match the number of items in rootCertificateNames.", + "allowed": [ + 1, + 2 + ] + }, + "revokedCertificateThumbprints": { + "type": "array", + "description": "List of revoked client certificate SHA1 thumbprints." + } + }, + "outputs": { + "vpnGatewayName": "string", + "vpnGatewayId": "string" + } + }, + "2.0.0": { + "parameters": { + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "PROD", + "NONPROD" + ] + }, + "projectName": { + "type": "", + "description": "Name of the project." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "rootCertificateNames": { + "type": "array", + "description": "List of valid root certificate names." + }, + "rootCertificateAmount": { + "type": "int", + "description": "Amount of root certificates. Must match the number of items in rootCertificateNames.", + "allowed": [ + 1, + 2 + ] + }, + "revokedCertificateThumbprints": { + "type": "array", + "description": "List of revoked client certificate SHA1 thumbprints." + } + }, + "outputs": { + "vpnGatewayName": "string", + "vpnGatewayId": "string" + } + }, + "2.0.x": { + "parameters": { + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "PROD", + "NONPROD" + ] + }, + "projectName": { + "type": "", + "description": "Name of the project." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "rootCertificateNames": { + "type": "array", + "description": "List of valid root certificate names." + }, + "rootCertificateAmount": { + "type": "int", + "description": "Amount of root certificates. Must match the number of items in rootCertificateNames.", + "allowed": [ + 1, + 2 + ] + }, + "revokedCertificateThumbprints": { + "type": "array", + "description": "List of revoked client certificate SHA1 thumbprints." + } + }, + "outputs": { + "vpnGatewayName": "string", + "vpnGatewayId": "string" + } + }, + "2.x": { + "parameters": { + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "PROD", + "NONPROD" + ] + }, + "projectName": { + "type": "", + "description": "Name of the project." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "rootCertificateNames": { + "type": "array", + "description": "List of valid root certificate names." + }, + "rootCertificateAmount": { + "type": "int", + "description": "Amount of root certificates. Must match the number of items in rootCertificateNames.", + "allowed": [ + 1, + 2 + ] + }, + "revokedCertificateThumbprints": { + "type": "array", + "description": "List of revoked client certificate SHA1 thumbprints." + } + }, + "outputs": { + "vpnGatewayName": "string", + "vpnGatewayId": "string" + } + }, + "latest": { + "parameters": { + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "PROD", + "NONPROD" + ] + }, + "projectName": { + "type": "", + "description": "Name of the project." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "rootCertificateNames": { + "type": "array", + "description": "List of valid root certificate names." + }, + "rootCertificateAmount": { + "type": "int", + "description": "Amount of root certificates. Must match the number of items in rootCertificateNames.", + "allowed": [ + 1, + 2 + ] + }, + "revokedCertificateThumbprints": { + "type": "array", + "description": "List of revoked client certificate SHA1 thumbprints." + } + }, + "outputs": { + "vpnGatewayName": "string", + "vpnGatewayId": "string" + } + } + } + }, + "bicep/modules/networkhubparameters": { + "all_tags": [ + "1.0.0", + "1.0.x", + "1.x", + "2023-06-27", + "2023-07-12", + "2023-08-08", + "2023-11-16", + "2024-03-20", + "2024-03-21", + "2024-05-01", + "2024-06-10", + "latest", + "preview" + ], + "versions": [ + "1.0.0", + "1.0.x", + "1.x", + "latest" + ], + "schema": { + "1.0.0": { + "parameters": { + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, NONPROD, or PROD.", + "allowed": [ + "DEV", + "TEST", + "NONPROD", + "PROD" + ] + } + }, + "outputs": { + "hubResourceGroupName": "string", + "operationsKeyvaultResourceGroupName": "string", + "operationsKeyvaultName": "string", + "operationsSubscriptionID": "string", + "privateDNSZoneInfo": "object", + "privateDNSZones": "array", + "virtualNetworkName": "string", + "virtualNetworkId": "string", + "vpnApplicationClientId": "string" + } + }, + "1.0.x": { + "parameters": { + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, NONPROD, or PROD.", + "allowed": [ + "DEV", + "TEST", + "NONPROD", + "PROD" + ] + } + }, + "outputs": { + "hubResourceGroupName": "string", + "operationsKeyvaultResourceGroupName": "string", + "operationsKeyvaultName": "string", + "operationsSubscriptionID": "string", + "privateDNSZoneInfo": "object", + "privateDNSZones": "array", + "virtualNetworkName": "string", + "virtualNetworkId": "string", + "vpnApplicationClientId": "string" + } + }, + "1.x": { + "parameters": { + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, NONPROD, or PROD.", + "allowed": [ + "DEV", + "TEST", + "NONPROD", + "PROD" + ] + } + }, + "outputs": { + "hubResourceGroupName": "string", + "operationsKeyvaultResourceGroupName": "string", + "operationsKeyvaultName": "string", + "operationsSubscriptionID": "string", + "privateDNSZoneInfo": "object", + "privateDNSZones": "array", + "virtualNetworkName": "string", + "virtualNetworkId": "string", + "vpnApplicationClientId": "string" + } + }, + "latest": { + "parameters": { + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, NONPROD, or PROD.", + "allowed": [ + "DEV", + "TEST", + "NONPROD", + "PROD" + ] + } + }, + "outputs": { + "hubResourceGroupName": "string", + "operationsKeyvaultResourceGroupName": "string", + "operationsKeyvaultName": "string", + "operationsSubscriptionID": "string", + "privateDNSZoneInfo": "object", + "privateDNSZones": "array", + "virtualNetworkName": "string", + "virtualNetworkId": "string", + "vpnApplicationClientId": "string" + } + } + } + }, + "bicep/modules/networkipplan": { + "all_tags": [ + "1.0.0", + "1.0.x", + "1.x", + "2023-06-29", + "2023-07-05", + "2023-08-16", + "2023-09-11", + "2023-09-15", + "2023-10-05", + "2023-11-16", + "2024-03-18", + "latest", + "preview" + ], + "versions": [ + "1.0.0", + "1.0.x", + "1.x", + "latest" + ], + "schema": { + "1.0.0": { + "parameters": { + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + } + }, + "outputs": { + "ipPlan": "object" + } + }, + "1.0.x": { + "parameters": { + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + } + }, + "outputs": { + "ipPlan": "object" + } + }, + "1.x": { + "parameters": { + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + } + }, + "outputs": { + "ipPlan": "object" + } + }, + "latest": { + "parameters": { + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + } + }, + "outputs": { + "ipPlan": "object" + } + } + } + }, + "bicep/modules/networks2svpn": { + "all_tags": [ + "1.0.0", + "1.0.x", + "1.x", + "2.0.0", + "2.0.x", + "2.x", + "2023-07-07", + "2023-09-14", + "2024-03-18", + "2024-03-19", + "2024-05-14", + "latest", + "preview" + ], + "versions": [ + "1.0.0", + "1.0.x", + "1.x", + "2.0.0", + "2.0.x", + "2.x", + "latest" + ], + "schema": { + "1.0.0": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the S2S Connection." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "PROD", + "NONPROD" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "vpnGatewayName": { + "type": "string", + "description": "The name of the Azure Virtual Network Gateway." + }, + "remoteGatewayAddress": { + "type": "string", + "description": "The remote gateway IP address." + }, + "remoteNetworkAddressPrefixes": { + "type": "array", + "description": "The remote network IP address ranges." + }, + "preSharedKey": { + "type": "securestring", + "description": "The pre-shared key used for authentication" + } + }, + "outputs": {} + }, + "1.0.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the S2S Connection." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "PROD", + "NONPROD" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "vpnGatewayName": { + "type": "string", + "description": "The name of the Azure Virtual Network Gateway." + }, + "remoteGatewayAddress": { + "type": "string", + "description": "The remote gateway IP address." + }, + "remoteNetworkAddressPrefixes": { + "type": "array", + "description": "The remote network IP address ranges." + }, + "preSharedKey": { + "type": "securestring", + "description": "The pre-shared key used for authentication" + } + }, + "outputs": {} + }, + "1.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the S2S Connection." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "PROD", + "NONPROD" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "vpnGatewayName": { + "type": "string", + "description": "The name of the Azure Virtual Network Gateway." + }, + "remoteGatewayAddress": { + "type": "string", + "description": "The remote gateway IP address." + }, + "remoteNetworkAddressPrefixes": { + "type": "array", + "description": "The remote network IP address ranges." + }, + "preSharedKey": { + "type": "securestring", + "description": "The pre-shared key used for authentication" + } + }, + "outputs": {} + }, + "2.0.0": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the S2S Connection." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment.", + "allowed": [ + "PROD", + "NONPROD" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "vpnGatewayName": { + "type": "string", + "description": "The name of the Azure Virtual Network Gateway." + }, + "remoteGatewayAddress": { + "type": "string", + "description": "The remote gateway IP address." + }, + "remoteNetworkAddressPrefixes": { + "type": "array", + "description": "The remote network IP address ranges." + }, + "preSharedKey": { + "type": "securestring", + "description": "The pre-shared key used for authentication" + } + }, + "outputs": {} + }, + "2.0.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the S2S Connection." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment.", + "allowed": [ + "PROD", + "NONPROD" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "vpnGatewayName": { + "type": "string", + "description": "The name of the Azure Virtual Network Gateway." + }, + "remoteGatewayAddress": { + "type": "string", + "description": "The remote gateway IP address." + }, + "remoteNetworkAddressPrefixes": { + "type": "array", + "description": "The remote network IP address ranges." + }, + "preSharedKey": { + "type": "securestring", + "description": "The pre-shared key used for authentication" + } + }, + "outputs": {} + }, + "2.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the S2S Connection." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment.", + "allowed": [ + "PROD", + "NONPROD" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "vpnGatewayName": { + "type": "string", + "description": "The name of the Azure Virtual Network Gateway." + }, + "remoteGatewayAddress": { + "type": "string", + "description": "The remote gateway IP address." + }, + "remoteNetworkAddressPrefixes": { + "type": "array", + "description": "The remote network IP address ranges." + }, + "preSharedKey": { + "type": "securestring", + "description": "The pre-shared key used for authentication" + } + }, + "outputs": {} + }, + "latest": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the S2S Connection." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment.", + "allowed": [ + "PROD", + "NONPROD" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "vpnGatewayName": { + "type": "string", + "description": "The name of the Azure Virtual Network Gateway." + }, + "remoteGatewayAddress": { + "type": "string", + "description": "The remote gateway IP address." + }, + "remoteNetworkAddressPrefixes": { + "type": "array", + "description": "The remote network IP address ranges." + }, + "preSharedKey": { + "type": "securestring", + "description": "The pre-shared key used for authentication" + } + }, + "outputs": {} + } + } + }, + "bicep/modules/networkspoke": { + "all_tags": [ + "1.0.0", + "1.0.x", + "1.x", + "2023-06-12", + "2023-06-13", + "2023-06-19", + "2023-06-20", + "2023-06-21", + "2023-06-22", + "2023-06-23", + "2023-06-27", + "2023-06-29", + "2023-07-06", + "2023-11-14", + "2023-11-16", + "2024-03-18", + "2024-03-19", + "2024-05-14", + "latest", + "preview" + ], + "versions": [ + "1.0.0", + "1.0.x", + "1.x", + "latest" + ], + "schema": { + "1.0.0": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of virtualNetwork" + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "ipAddressRange": { + "type": "string", + "description": "VNET IP address range in CIDR notation" + }, + "hubResourceGroupName": { + "type": "string", + "description": "Obtained from the networkHubParameters module." + }, + "hubVnetName": { + "type": "string", + "description": "Obtained from the networkHubParameters module." + }, + "hubVnetId": { + "type": "string", + "description": "Obtained from the networkHubParameters module." + }, + "privateDNSZones": { + "type": "array", + "description": "Obtained from the networkHubParameters module." + }, + "ipPlan": { + "type": "object", + "description": "The IP Plan for the environmentType. Obtained from the IP Plan module.", + "default": {} + }, + "whitelistedApplications": { + "type": "array", + "description": "Applications to whitelist. Must match a key in the IP Plan module", + "default": [] + }, + "whitelistedIpRanges": { + "type": "object", + "description": "Whitelisted IP ranges in CIDR notation.", + "default": {} + } + }, + "outputs": { + "appServiceSubnetId": "string", + "isolatedPrivateLinkSubnetId": "string", + "sharedPrivateLinkSubnetId": "string", + "virtualNetworksName": "string", + "virtualNetworksId": "string" + } + }, + "1.0.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of virtualNetwork" + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "ipAddressRange": { + "type": "string", + "description": "VNET IP address range in CIDR notation" + }, + "hubResourceGroupName": { + "type": "string", + "description": "Obtained from the networkHubParameters module." + }, + "hubVnetName": { + "type": "string", + "description": "Obtained from the networkHubParameters module." + }, + "hubVnetId": { + "type": "string", + "description": "Obtained from the networkHubParameters module." + }, + "privateDNSZones": { + "type": "array", + "description": "Obtained from the networkHubParameters module." + }, + "ipPlan": { + "type": "object", + "description": "The IP Plan for the environmentType. Obtained from the IP Plan module.", + "default": {} + }, + "whitelistedApplications": { + "type": "array", + "description": "Applications to whitelist. Must match a key in the IP Plan module", + "default": [] + }, + "whitelistedIpRanges": { + "type": "object", + "description": "Whitelisted IP ranges in CIDR notation.", + "default": {} + } + }, + "outputs": { + "appServiceSubnetId": "string", + "isolatedPrivateLinkSubnetId": "string", + "sharedPrivateLinkSubnetId": "string", + "virtualNetworksName": "string", + "virtualNetworksId": "string" + } + }, + "1.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of virtualNetwork" + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "ipAddressRange": { + "type": "string", + "description": "VNET IP address range in CIDR notation" + }, + "hubResourceGroupName": { + "type": "string", + "description": "Obtained from the networkHubParameters module." + }, + "hubVnetName": { + "type": "string", + "description": "Obtained from the networkHubParameters module." + }, + "hubVnetId": { + "type": "string", + "description": "Obtained from the networkHubParameters module." + }, + "privateDNSZones": { + "type": "array", + "description": "Obtained from the networkHubParameters module." + }, + "ipPlan": { + "type": "object", + "description": "The IP Plan for the environmentType. Obtained from the IP Plan module.", + "default": {} + }, + "whitelistedApplications": { + "type": "array", + "description": "Applications to whitelist. Must match a key in the IP Plan module", + "default": [] + }, + "whitelistedIpRanges": { + "type": "object", + "description": "Whitelisted IP ranges in CIDR notation.", + "default": {} + } + }, + "outputs": { + "appServiceSubnetId": "string", + "isolatedPrivateLinkSubnetId": "string", + "sharedPrivateLinkSubnetId": "string", + "virtualNetworksName": "string", + "virtualNetworksId": "string" + } + }, + "latest": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of virtualNetwork" + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "ipAddressRange": { + "type": "string", + "description": "VNET IP address range in CIDR notation" + }, + "hubResourceGroupName": { + "type": "string", + "description": "Obtained from the networkHubParameters module." + }, + "hubVnetName": { + "type": "string", + "description": "Obtained from the networkHubParameters module." + }, + "hubVnetId": { + "type": "string", + "description": "Obtained from the networkHubParameters module." + }, + "privateDNSZones": { + "type": "array", + "description": "Obtained from the networkHubParameters module." + }, + "ipPlan": { + "type": "object", + "description": "The IP Plan for the environmentType. Obtained from the IP Plan module.", + "default": {} + }, + "whitelistedApplications": { + "type": "array", + "description": "Applications to whitelist. Must match a key in the IP Plan module", + "default": [] + }, + "whitelistedIpRanges": { + "type": "object", + "description": "Whitelisted IP ranges in CIDR notation.", + "default": {} + } + }, + "outputs": { + "appServiceSubnetId": "string", + "isolatedPrivateLinkSubnetId": "string", + "sharedPrivateLinkSubnetId": "string", + "virtualNetworksName": "string", + "virtualNetworksId": "string" + } + } + } + }, + "bicep/modules/postgresql": { + "all_tags": [ + "1.0.1", + "1.0.3", + "1.0.4", + "1.0.5", + "1.0.6", + "1.0.x", + "1.x", + "latest", + "preview" + ], + "versions": [ + "1.0.1", + "1.0.3", + "1.0.4", + "1.0.5", + "1.0.6", + "1.0.x", + "1.x", + "latest" + ], + "schema": { + "1.0.1": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the PostgreSQL server" + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "postgreSqlAdministratorLogin": { + "type": "securestring", + "description": "The administrator login username for the PostgreSQL server." + }, + "postgreSqlAdministratorPassword": { + "type": "securestring", + "description": "The administrator login password for the PostgreSQL server." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "postgreSqlVersion": { + "type": "string", + "description": "PostgreSQL version. Defaults to \"16\".", + "default": "16" + }, + "postgreSqlstorageSizeGB": { + "type": "int", + "description": "PostgreSQL server size.", + "default": 32 + }, + "postgreSqlSku": { + "type": "", + "description": "PostgreSQL standart sku", + "default": { + "name": "Standard_B1ms", + "tier": "Burstable" + } + }, + "databaseName": { + "type": "string", + "description": "Name of the database to create. Defaults to project name.", + "default": "[parameters('projectName')]" + } + }, + "outputs": { + "postgreSqlServerId": "string", + "databaseServerName": "string", + "databaseName": "string", + "databaseId": "string" + } + }, + "1.0.3": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the PostgreSQL server" + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "postgreSqlAdministratorLogin": { + "type": "securestring", + "description": "The administrator login username for the PostgreSQL server." + }, + "postgreSqlAdministratorPassword": { + "type": "securestring", + "description": "The administrator login password for the PostgreSQL server." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "postgreSqlVersion": { + "type": "string", + "description": "PostgreSQL version. Defaults to \"16\".", + "default": "16" + }, + "postgreSqlstorageSizeGB": { + "type": "int", + "description": "PostgreSQL server size.", + "default": 32 + }, + "postgreSqlSku": { + "type": "", + "description": "PostgreSQL standart sku", + "default": { + "name": "Standard_B1ms", + "tier": "Burstable" + } + } + }, + "outputs": { + "postgreSqlServerId": "string", + "databaseServerName": "string", + "databaseName": "string", + "databaseId": "string" + } + }, + "1.0.4": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the PostgreSQL server" + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "postgreSqlAdministratorLogin": { + "type": "securestring", + "description": "The administrator login username for the PostgreSQL server." + }, + "postgreSqlAdministratorPassword": { + "type": "securestring", + "description": "The administrator login password for the PostgreSQL server." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "postgreSqlVersion": { + "type": "string", + "description": "PostgreSQL version. Defaults to \"16\".", + "default": "16" + }, + "postgreSqlstorageSizeGB": { + "type": "int", + "description": "PostgreSQL server size.", + "default": 32 + }, + "postgreSqlSku": { + "type": "", + "description": "PostgreSQL standart sku", + "default": { + "name": "Standard_B1ms", + "tier": "Burstable" + } + } + }, + "outputs": { + "postgreSqlServerId": "string", + "databaseServerName": "string", + "databaseName": "string", + "databaseId": "string" + } + }, + "1.0.5": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the PostgreSQL server" + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "postgreSqlAdministratorLogin": { + "type": "securestring", + "description": "The administrator login username for the PostgreSQL server." + }, + "postgreSqlAdministratorPassword": { + "type": "securestring", + "description": "The administrator login password for the PostgreSQL server." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "postgreSqlVersion": { + "type": "string", + "description": "PostgreSQL version. Defaults to \"16\".", + "default": "16" + }, + "postgreSqlstorageSizeGB": { + "type": "int", + "description": "PostgreSQL server size.", + "default": 32 + }, + "postgreSqlSku": { + "type": "", + "description": "PostgreSQL standart sku", + "default": { + "name": "Standard_B1ms", + "tier": "Burstable" + } + } + }, + "outputs": { + "postgreSqlServerId": "string", + "databaseServerName": "string", + "databaseName": "string", + "databaseId": "string" + } + }, + "1.0.6": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the PostgreSQL server" + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "postgreSqlAdministratorLogin": { + "type": "securestring", + "description": "The administrator login username for the PostgreSQL server." + }, + "postgreSqlAdministratorPassword": { + "type": "securestring", + "description": "The administrator login password for the PostgreSQL server." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "postgreSqlVersion": { + "type": "string", + "description": "PostgreSQL version. Defaults to \"16\".", + "default": "16" + }, + "postgreSqlstorageSizeGB": { + "type": "int", + "description": "PostgreSQL server size.", + "default": 32 + }, + "postgreSqlSku": { + "type": "", + "description": "PostgreSQL standart sku", + "default": { + "name": "Standard_B1ms", + "tier": "Burstable" + } + } + }, + "outputs": { + "postgreSqlServerId": "string", + "databaseServerName": "string", + "databaseName": "string", + "databaseId": "string" + } + }, + "1.0.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the PostgreSQL server" + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "postgreSqlAdministratorLogin": { + "type": "securestring", + "description": "The administrator login username for the PostgreSQL server." + }, + "postgreSqlAdministratorPassword": { + "type": "securestring", + "description": "The administrator login password for the PostgreSQL server." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "postgreSqlVersion": { + "type": "string", + "description": "PostgreSQL version. Defaults to \"16\".", + "default": "16" + }, + "postgreSqlstorageSizeGB": { + "type": "int", + "description": "PostgreSQL server size.", + "default": 32 + }, + "postgreSqlSku": { + "type": "", + "description": "PostgreSQL standart sku", + "default": { + "name": "Standard_B1ms", + "tier": "Burstable" + } + }, + "databaseName": { + "type": "string", + "description": "Name of the database to create. Defaults to project name.", + "default": "[parameters('projectName')]" + } + }, + "outputs": { + "postgreSqlServerId": "string", + "databaseServerName": "string", + "databaseName": "string", + "databaseId": "string" + } + }, + "1.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the PostgreSQL server" + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "postgreSqlAdministratorLogin": { + "type": "securestring", + "description": "The administrator login username for the PostgreSQL server." + }, + "postgreSqlAdministratorPassword": { + "type": "securestring", + "description": "The administrator login password for the PostgreSQL server." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "postgreSqlVersion": { + "type": "string", + "description": "PostgreSQL version. Defaults to \"16\".", + "default": "16" + }, + "postgreSqlstorageSizeGB": { + "type": "int", + "description": "PostgreSQL server size.", + "default": 32 + }, + "postgreSqlSku": { + "type": "", + "description": "PostgreSQL standart sku", + "default": { + "name": "Standard_B1ms", + "tier": "Burstable" + } + } + }, + "outputs": { + "postgreSqlServerId": "string", + "databaseServerName": "string", + "databaseName": "string", + "databaseId": "string" + } + }, + "latest": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the PostgreSQL server" + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "postgreSqlAdministratorLogin": { + "type": "securestring", + "description": "The administrator login username for the PostgreSQL server." + }, + "postgreSqlAdministratorPassword": { + "type": "securestring", + "description": "The administrator login password for the PostgreSQL server." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "postgreSqlVersion": { + "type": "string", + "description": "PostgreSQL version. Defaults to \"16\".", + "default": "16" + }, + "postgreSqlstorageSizeGB": { + "type": "int", + "description": "PostgreSQL server size.", + "default": 32 + }, + "postgreSqlSku": { + "type": "", + "description": "PostgreSQL standart sku", + "default": { + "name": "Standard_B1ms", + "tier": "Burstable" + } + } + }, + "outputs": { + "postgreSqlServerId": "string", + "databaseServerName": "string", + "databaseName": "string", + "databaseId": "string" + } + } + } + }, + "bicep/modules/privateendpoints": { + "all_tags": [ + "1.0.0", + "1.0.x", + "1.x", + "2.0.0", + "2.0.x", + "2.x", + "2023-03-29", + "2023-03-30", + "2023-03-31", + "2023-04-11", + "2023-04-13", + "2023-04-14", + "2023-06-27", + "2023-07-06", + "2024-03-19", + "2024-05-01", + "2024-05-14", + "latest", + "preview" + ], + "versions": [ + "1.0.0", + "1.0.x", + "1.x", + "2.0.0", + "2.0.x", + "2.x", + "latest" + ], + "schema": { + "1.0.0": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "privateDNSZoneInfo": { + "type": "", + "description": "The private DNS zone information. The networkhubparameters module provides this." + }, + "hubResourceGroupName": { + "type": "string", + "description": "The name of network hub resource group. The networkhubparameters module provides this." + }, + "serviceId": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "virtualNetworkSubnetId": { + "type": "string", + "description": "The virtualNetwork id." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "1.0.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "privateDNSZoneInfo": { + "type": "", + "description": "The private DNS zone information. The networkhubparameters module provides this." + }, + "hubResourceGroupName": { + "type": "string", + "description": "The name of network hub resource group. The networkhubparameters module provides this." + }, + "serviceId": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "virtualNetworkSubnetId": { + "type": "string", + "description": "The virtualNetwork id." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "1.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "privateDNSZoneInfo": { + "type": "", + "description": "The private DNS zone information. The networkhubparameters module provides this." + }, + "hubResourceGroupName": { + "type": "string", + "description": "The name of network hub resource group. The networkhubparameters module provides this." + }, + "serviceId": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "virtualNetworkSubnetId": { + "type": "string", + "description": "The virtualNetwork id." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "2.0.0": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "privateDNSZoneInfo": { + "type": "", + "description": "The private DNS zone information. The networkhubparameters module provides this." + }, + "serviceId": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "virtualNetworkSubnetId": { + "type": "string", + "description": "The virtualNetwork id." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "2.0.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "privateDNSZoneInfo": { + "type": "", + "description": "The private DNS zone information. The networkhubparameters module provides this." + }, + "serviceId": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "virtualNetworkSubnetId": { + "type": "string", + "description": "The virtualNetwork id." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "2.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "privateDNSZoneInfo": { + "type": "", + "description": "The private DNS zone information. The networkhubparameters module provides this." + }, + "serviceId": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "virtualNetworkSubnetId": { + "type": "string", + "description": "The virtualNetwork id." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "latest": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "privateDNSZoneInfo": { + "type": "", + "description": "The private DNS zone information. The networkhubparameters module provides this." + }, + "serviceId": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "virtualNetworkSubnetId": { + "type": "string", + "description": "The virtualNetwork id." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + } + } + }, + "bicep/modules/rbaclookup": { + "all_tags": [ + "1.0.0", + "1.0.x", + "1.x", + "latest", + "preview" + ], + "versions": [ + "1.0.0", + "1.0.x", + "1.x", + "latest" + ], + "schema": { + "1.0.0": { + "parameters": {}, + "outputs": { + "principals": "object", + "roles": "object" + } + }, + "1.0.x": { + "parameters": {}, + "outputs": { + "principals": "object", + "roles": "object" + } + }, + "1.x": { + "parameters": {}, + "outputs": { + "principals": "object", + "roles": "object" + } + }, + "latest": { + "parameters": {}, + "outputs": { + "principals": "object", + "roles": "object" + } + } + } + }, + "bicep/modules/redis": { + "all_tags": [ + "1.0.0", + "1.0.x", + "1.x", + "2.0.0", + "2.0.x", + "2.x", + "2023-07-03", + "2023-07-04", + "2023-11-16", + "2024-02-21", + "2024-02-22", + "2024-03-18", + "2024-03-19", + "latest", + "preview" + ], + "versions": [ + "1.0.0", + "1.0.x", + "1.x", + "2.0.0", + "2.0.x", + "2.x", + "latest" + ], + "schema": { + "1.0.0": { + "parameters": { + "projectName": { + "type": "string", + "description": "Specify the name of the Azure Redis Cache to create." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "redisVersion": { + "type": "string", + "description": "Redis version. This should be in the form major[.minor] (only major is required) or the value latest which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is latest.", + "default": "latest" + }, + "publicNetworkAccess": { + "type": "string", + "description": "Whether or not public endpoint access is allowed for this cache. Default value is Enabled", + "default": "Enabled", + "allowed": [ + "Disabled", + "Enabled" + ] + }, + "enableNonSslPort": { + "type": "bool", + "description": "Specify a boolean value that indicates whether to allow access via non-SSL ports.", + "default": false + }, + "redisCacheCapacity": { + "type": "int", + "description": "Specify the size of the new Azure Redis Cache instance. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4)", + "default": 1, + "allowed": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6 + ] + }, + "redisCacheFamily": { + "type": "string", + "description": "Specify the family for the sku. C = Basic/Standard, P = Premium.", + "default": "C", + "allowed": [ + "C", + "P" + ] + }, + "redisCacheSKU": { + "type": "string", + "description": "Specify the pricing tier of the new Azure Redis Cache.", + "default": "Standard", + "allowed": [ + "Basic", + "Standard", + "Premium" + ] + }, + "redisConfiguration": { + "type": "object", + "description": "All Redis Settings.", + "default": {} + }, + "rules": { + "type": "array", + "description": "Firewall Rules", + "default": [ + {} + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "1.0.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Specify the name of the Azure Redis Cache to create." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "redisVersion": { + "type": "string", + "description": "Redis version. This should be in the form major[.minor] (only major is required) or the value latest which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is latest.", + "default": "latest" + }, + "publicNetworkAccess": { + "type": "string", + "description": "Whether or not public endpoint access is allowed for this cache. Default value is Enabled", + "default": "Enabled", + "allowed": [ + "Disabled", + "Enabled" + ] + }, + "enableNonSslPort": { + "type": "bool", + "description": "Specify a boolean value that indicates whether to allow access via non-SSL ports.", + "default": false + }, + "redisCacheCapacity": { + "type": "int", + "description": "Specify the size of the new Azure Redis Cache instance. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4)", + "default": 1, + "allowed": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6 + ] + }, + "redisCacheFamily": { + "type": "string", + "description": "Specify the family for the sku. C = Basic/Standard, P = Premium.", + "default": "C", + "allowed": [ + "C", + "P" + ] + }, + "redisCacheSKU": { + "type": "string", + "description": "Specify the pricing tier of the new Azure Redis Cache.", + "default": "Standard", + "allowed": [ + "Basic", + "Standard", + "Premium" + ] + }, + "redisConfiguration": { + "type": "object", + "description": "All Redis Settings.", + "default": {} + }, + "rules": { + "type": "array", + "description": "Firewall Rules", + "default": [ + {} + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "1.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Specify the name of the Azure Redis Cache to create." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "redisVersion": { + "type": "string", + "description": "Redis version. This should be in the form major[.minor] (only major is required) or the value latest which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is latest.", + "default": "latest" + }, + "publicNetworkAccess": { + "type": "string", + "description": "Whether or not public endpoint access is allowed for this cache. Default value is Enabled", + "default": "Enabled", + "allowed": [ + "Disabled", + "Enabled" + ] + }, + "enableNonSslPort": { + "type": "bool", + "description": "Specify a boolean value that indicates whether to allow access via non-SSL ports.", + "default": false + }, + "redisCacheCapacity": { + "type": "int", + "description": "Specify the size of the new Azure Redis Cache instance. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4)", + "default": 1, + "allowed": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6 + ] + }, + "redisCacheFamily": { + "type": "string", + "description": "Specify the family for the sku. C = Basic/Standard, P = Premium.", + "default": "C", + "allowed": [ + "C", + "P" + ] + }, + "redisCacheSKU": { + "type": "string", + "description": "Specify the pricing tier of the new Azure Redis Cache.", + "default": "Standard", + "allowed": [ + "Basic", + "Standard", + "Premium" + ] + }, + "redisConfiguration": { + "type": "object", + "description": "All Redis Settings.", + "default": {} + }, + "rules": { + "type": "array", + "description": "Firewall Rules", + "default": [ + {} + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "2.0.0": { + "parameters": { + "projectName": { + "type": "", + "description": "Specify the name of the Azure Redis Cache to create." + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "redisVersion": { + "type": "string", + "description": "Redis version. This should be in the form major[.minor] (only major is required) or the value latest which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is latest.", + "default": "latest" + }, + "publicNetworkAccess": { + "type": "string", + "description": "Whether or not public endpoint access is allowed for this cache. Default value is Enabled", + "default": "Enabled", + "allowed": [ + "Disabled", + "Enabled" + ] + }, + "enableNonSslPort": { + "type": "bool", + "description": "Specify a boolean value that indicates whether to allow access via non-SSL ports.", + "default": false + }, + "redisCacheCapacity": { + "type": "", + "description": "Specify the size of the new Azure Redis Cache instance. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4)", + "default": 1 + }, + "redisCacheFamily": { + "type": "", + "description": "Specify the family for the sku. C = Basic/Standard, P = Premium.", + "default": "C" + }, + "redisCacheSKU": { + "type": "", + "description": "Specify the pricing tier of the new Azure Redis Cache.", + "default": "Standard" + }, + "redisConfiguration": { + "type": "object", + "description": "All Redis Settings.", + "default": {} + }, + "rules": { + "type": "array", + "description": "Firewall Rules", + "default": [ + {} + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "2.0.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Specify the name of the Azure Redis Cache to create." + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "redisVersion": { + "type": "string", + "description": "Redis version. This should be in the form major[.minor] (only major is required) or the value latest which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is latest.", + "default": "latest" + }, + "publicNetworkAccess": { + "type": "string", + "description": "Whether or not public endpoint access is allowed for this cache. Default value is Enabled", + "default": "Enabled", + "allowed": [ + "Disabled", + "Enabled" + ] + }, + "enableNonSslPort": { + "type": "bool", + "description": "Specify a boolean value that indicates whether to allow access via non-SSL ports.", + "default": false + }, + "redisCacheCapacity": { + "type": "", + "description": "Specify the size of the new Azure Redis Cache instance. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4)", + "default": 1 + }, + "redisCacheFamily": { + "type": "", + "description": "Specify the family for the sku. C = Basic/Standard, P = Premium.", + "default": "C" + }, + "redisCacheSKU": { + "type": "", + "description": "Specify the pricing tier of the new Azure Redis Cache.", + "default": "Standard" + }, + "redisConfiguration": { + "type": "object", + "description": "All Redis Settings.", + "default": {} + }, + "rules": { + "type": "array", + "description": "Firewall Rules", + "default": [ + {} + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "2.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Specify the name of the Azure Redis Cache to create." + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "redisVersion": { + "type": "string", + "description": "Redis version. This should be in the form major[.minor] (only major is required) or the value latest which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is latest.", + "default": "latest" + }, + "publicNetworkAccess": { + "type": "string", + "description": "Whether or not public endpoint access is allowed for this cache. Default value is Enabled", + "default": "Enabled", + "allowed": [ + "Disabled", + "Enabled" + ] + }, + "enableNonSslPort": { + "type": "bool", + "description": "Specify a boolean value that indicates whether to allow access via non-SSL ports.", + "default": false + }, + "redisCacheCapacity": { + "type": "", + "description": "Specify the size of the new Azure Redis Cache instance. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4)", + "default": 1 + }, + "redisCacheFamily": { + "type": "", + "description": "Specify the family for the sku. C = Basic/Standard, P = Premium.", + "default": "C" + }, + "redisCacheSKU": { + "type": "", + "description": "Specify the pricing tier of the new Azure Redis Cache.", + "default": "Standard" + }, + "redisConfiguration": { + "type": "object", + "description": "All Redis Settings.", + "default": {} + }, + "rules": { + "type": "array", + "description": "Firewall Rules", + "default": [ + {} + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "latest": { + "parameters": { + "projectName": { + "type": "", + "description": "Specify the name of the Azure Redis Cache to create." + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "redisVersion": { + "type": "string", + "description": "Redis version. This should be in the form major[.minor] (only major is required) or the value latest which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is latest.", + "default": "latest" + }, + "publicNetworkAccess": { + "type": "string", + "description": "Whether or not public endpoint access is allowed for this cache. Default value is Enabled", + "default": "Enabled", + "allowed": [ + "Disabled", + "Enabled" + ] + }, + "enableNonSslPort": { + "type": "bool", + "description": "Specify a boolean value that indicates whether to allow access via non-SSL ports.", + "default": false + }, + "redisCacheCapacity": { + "type": "", + "description": "Specify the size of the new Azure Redis Cache instance. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4)", + "default": 1 + }, + "redisCacheFamily": { + "type": "", + "description": "Specify the family for the sku. C = Basic/Standard, P = Premium.", + "default": "C" + }, + "redisCacheSKU": { + "type": "", + "description": "Specify the pricing tier of the new Azure Redis Cache.", + "default": "Standard" + }, + "redisConfiguration": { + "type": "object", + "description": "All Redis Settings.", + "default": {} + }, + "rules": { + "type": "array", + "description": "Firewall Rules", + "default": [ + {} + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + } + } + }, + "bicep/modules/resourcegroup": { + "all_tags": [ + "1.0.0", + "1.0.x", + "1.x", + "2022-06-20", + "2022-06-21", + "2024-03-18", + "2024-03-19", + "2024-05-14", + "latest", + "preview" + ], + "versions": [ + "1.0.0", + "1.0.x", + "1.x", + "latest" + ], + "schema": { + "1.0.0": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of ResourceGroup." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[deployment().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "1.0.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of ResourceGroup." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[deployment().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "1.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of ResourceGroup." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[deployment().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "latest": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of ResourceGroup." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[deployment().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + } + } + }, + "bicep/modules/roleassignments": { + "all_tags": [ + "1.0.0", + "1.0.x", + "1.1.0", + "1.1.1", + "1.1.2", + "1.1.3", + "1.1.4", + "1.1.x", + "1.x", + "2.0.0", + "2.0.1", + "2.0.2", + "2.0.3", + "2.0.4", + "2.0.x", + "2.x", + "2023-03-08", + "2023-03-09", + "2023-04-27", + "2023-05-15", + "2023-06-08", + "2023-10-20", + "2023-10-24", + "2024-02-05", + "2024-03-20", + "2024-05-24", + "2024-05-27", + "latest", + "preview" + ], + "versions": [ + "1.0.0", + "1.0.x", + "1.1.0", + "1.1.1", + "1.1.2", + "1.1.3", + "1.1.4", + "1.1.x", + "1.x", + "2.0.0", + "2.0.1", + "2.0.2", + "2.0.3", + "2.0.4", + "2.0.x", + "2.x", + "latest" + ], + "schema": { + "1.0.0": { + "parameters": { + "roleDefinitionIds": { + "type": "array", + "description": "The role definition ID.", + "allowed": [ + "acdd72a7-3385-48ef-bd42-f606fba81ae7", + "090c5cfd-751d-490a-894a-3ce6f1109419", + "4f6d3b9b-027b-4f4c-9142-0e5a2a2247e0", + "69a216fc-b8fb-44d8-bc22-1f3c2cd27a39", + "2a2b9908-6ea1-4ae2-8e65-a410df84e7d1", + "ba92f5b4-2d11-453d-a403-e96b0029c9fe", + "8ebe5a00-799e-43f5-93ac-243d3dce84a7", + "1407120a-92aa-4202-b7e9-c0e197c71c8f", + "7ca78c08-252a-4471-8644-bb5ff32d4ba0" + ] + }, + "principalId": { + "type": "string", + "description": "The principal ID that is owner of the subcription." + }, + "principalType": { + "type": "string", + "description": "The principal type of the assigned principal ID." + } + }, + "outputs": {} + }, + "1.0.x": { + "parameters": { + "roleDefinitionIds": { + "type": "array", + "description": "The role definition ID.", + "allowed": [ + "acdd72a7-3385-48ef-bd42-f606fba81ae7", + "090c5cfd-751d-490a-894a-3ce6f1109419", + "4f6d3b9b-027b-4f4c-9142-0e5a2a2247e0", + "69a216fc-b8fb-44d8-bc22-1f3c2cd27a39", + "2a2b9908-6ea1-4ae2-8e65-a410df84e7d1", + "ba92f5b4-2d11-453d-a403-e96b0029c9fe", + "8ebe5a00-799e-43f5-93ac-243d3dce84a7", + "1407120a-92aa-4202-b7e9-c0e197c71c8f", + "7ca78c08-252a-4471-8644-bb5ff32d4ba0" + ] + }, + "principalId": { + "type": "string", + "description": "The principal ID that is owner of the subcription." + }, + "principalType": { + "type": "string", + "description": "The principal type of the assigned principal ID." + } + }, + "outputs": {} + }, + "1.1.0": { + "parameters": { + "environmentType": { + "type": "string", + "description": "", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "roleDefinitionIds": { + "type": "array", + "description": "The role definition ID.", + "allowed": [ + "acdd72a7-3385-48ef-bd42-f606fba81ae7", + "090c5cfd-751d-490a-894a-3ce6f1109419", + "4f6d3b9b-027b-4f4c-9142-0e5a2a2247e0", + "69a216fc-b8fb-44d8-bc22-1f3c2cd27a39", + "2a2b9908-6ea1-4ae2-8e65-a410df84e7d1", + "ba92f5b4-2d11-453d-a403-e96b0029c9fe", + "8ebe5a00-799e-43f5-93ac-243d3dce84a7", + "1407120a-92aa-4202-b7e9-c0e197c71c8f", + "7ca78c08-252a-4471-8644-bb5ff32d4ba0" + ] + }, + "principalId": { + "type": "string", + "description": "The principal ID that is owner of the subcription." + }, + "principalType": { + "type": "string", + "description": "The principal type of the assigned principal ID." + } + }, + "outputs": {} + }, + "1.1.1": { + "parameters": { + "environmentType": { + "type": "string", + "description": "", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "roleDefinitionIds": { + "type": "array", + "description": "The role definition ID.", + "allowed": [ + "acdd72a7-3385-48ef-bd42-f606fba81ae7", + "090c5cfd-751d-490a-894a-3ce6f1109419", + "4f6d3b9b-027b-4f4c-9142-0e5a2a2247e0", + "69a216fc-b8fb-44d8-bc22-1f3c2cd27a39", + "2a2b9908-6ea1-4ae2-8e65-a410df84e7d1", + "ba92f5b4-2d11-453d-a403-e96b0029c9fe", + "8ebe5a00-799e-43f5-93ac-243d3dce84a7", + "1407120a-92aa-4202-b7e9-c0e197c71c8f", + "7ca78c08-252a-4471-8644-bb5ff32d4ba0", + "0a9a7e1f-b9d0-4cc4-a60d-0319b160aaa3" + ] + }, + "principalId": { + "type": "string", + "description": "The principal ID that is owner of the subcription." + }, + "principalType": { + "type": "string", + "description": "The principal type of the assigned principal ID." + } + }, + "outputs": {} + }, + "1.1.2": { + "parameters": { + "environmentType": { + "type": "string", + "description": "", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "roleDefinitionIds": { + "type": "array", + "description": "The role definition ID.", + "allowed": [ + "acdd72a7-3385-48ef-bd42-f606fba81ae7", + "090c5cfd-751d-490a-894a-3ce6f1109419", + "4f6d3b9b-027b-4f4c-9142-0e5a2a2247e0", + "69a216fc-b8fb-44d8-bc22-1f3c2cd27a39", + "2a2b9908-6ea1-4ae2-8e65-a410df84e7d1", + "ba92f5b4-2d11-453d-a403-e96b0029c9fe", + "8ebe5a00-799e-43f5-93ac-243d3dce84a7", + "1407120a-92aa-4202-b7e9-c0e197c71c8f", + "7ca78c08-252a-4471-8644-bb5ff32d4ba0", + "0a9a7e1f-b9d0-4cc4-a60d-0319b160aaa3" + ] + }, + "principalId": { + "type": "string", + "description": "The principal ID that is owner of the subcription." + }, + "principalType": { + "type": "string", + "description": "The principal type of the assigned principal ID." + } + }, + "outputs": {} + }, + "1.1.3": { + "parameters": { + "environmentType": { + "type": "string", + "description": "", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "roleDefinitionIds": { + "type": "array", + "description": "The role definition ID.", + "allowed": [ + "acdd72a7-3385-48ef-bd42-f606fba81ae7", + "090c5cfd-751d-490a-894a-3ce6f1109419", + "4f6d3b9b-027b-4f4c-9142-0e5a2a2247e0", + "69a216fc-b8fb-44d8-bc22-1f3c2cd27a39", + "2a2b9908-6ea1-4ae2-8e65-a410df84e7d1", + "ba92f5b4-2d11-453d-a403-e96b0029c9fe", + "8ebe5a00-799e-43f5-93ac-243d3dce84a7", + "1407120a-92aa-4202-b7e9-c0e197c71c8f", + "7ca78c08-252a-4471-8644-bb5ff32d4ba0", + "0a9a7e1f-b9d0-4cc4-a60d-0319b160aaa3", + "5e0bd9bd-7b93-4f28-af87-19fc36ad61bd" + ] + }, + "principalId": { + "type": "string", + "description": "The principal ID that is owner of the subcription." + }, + "principalType": { + "type": "string", + "description": "The principal type of the assigned principal ID." + } + }, + "outputs": {} + }, + "1.1.4": { + "parameters": { + "environmentType": { + "type": "string", + "description": "", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "roleDefinitionIds": { + "type": "array", + "description": "The role definition ID.", + "allowed": [ + "acdd72a7-3385-48ef-bd42-f606fba81ae7", + "090c5cfd-751d-490a-894a-3ce6f1109419", + "4f6d3b9b-027b-4f4c-9142-0e5a2a2247e0", + "69a216fc-b8fb-44d8-bc22-1f3c2cd27a39", + "2a2b9908-6ea1-4ae2-8e65-a410df84e7d1", + "ba92f5b4-2d11-453d-a403-e96b0029c9fe", + "8ebe5a00-799e-43f5-93ac-243d3dce84a7", + "1407120a-92aa-4202-b7e9-c0e197c71c8f", + "7ca78c08-252a-4471-8644-bb5ff32d4ba0", + "0a9a7e1f-b9d0-4cc4-a60d-0319b160aaa3", + "5e0bd9bd-7b93-4f28-af87-19fc36ad61bd", + "a001fd3d-188f-4b5d-821b-7da978bf7442" + ] + }, + "principalId": { + "type": "string", + "description": "The principal ID that is owner of the subcription." + }, + "principalType": { + "type": "string", + "description": "The principal type of the assigned principal ID." + } + }, + "outputs": {} + }, + "1.1.x": { + "parameters": { + "environmentType": { + "type": "string", + "description": "", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "roleDefinitionIds": { + "type": "array", + "description": "The role definition ID.", + "allowed": [ + "acdd72a7-3385-48ef-bd42-f606fba81ae7", + "090c5cfd-751d-490a-894a-3ce6f1109419", + "4f6d3b9b-027b-4f4c-9142-0e5a2a2247e0", + "69a216fc-b8fb-44d8-bc22-1f3c2cd27a39", + "2a2b9908-6ea1-4ae2-8e65-a410df84e7d1", + "ba92f5b4-2d11-453d-a403-e96b0029c9fe", + "8ebe5a00-799e-43f5-93ac-243d3dce84a7", + "1407120a-92aa-4202-b7e9-c0e197c71c8f", + "7ca78c08-252a-4471-8644-bb5ff32d4ba0", + "0a9a7e1f-b9d0-4cc4-a60d-0319b160aaa3", + "5e0bd9bd-7b93-4f28-af87-19fc36ad61bd", + "a001fd3d-188f-4b5d-821b-7da978bf7442" + ] + }, + "principalId": { + "type": "string", + "description": "The principal ID that is owner of the subcription." + }, + "principalType": { + "type": "string", + "description": "The principal type of the assigned principal ID." + } + }, + "outputs": {} + }, + "1.x": { + "parameters": { + "environmentType": { + "type": "string", + "description": "", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "roleDefinitionIds": { + "type": "array", + "description": "The role definition ID.", + "allowed": [ + "acdd72a7-3385-48ef-bd42-f606fba81ae7", + "090c5cfd-751d-490a-894a-3ce6f1109419", + "4f6d3b9b-027b-4f4c-9142-0e5a2a2247e0", + "69a216fc-b8fb-44d8-bc22-1f3c2cd27a39", + "2a2b9908-6ea1-4ae2-8e65-a410df84e7d1", + "ba92f5b4-2d11-453d-a403-e96b0029c9fe", + "8ebe5a00-799e-43f5-93ac-243d3dce84a7", + "1407120a-92aa-4202-b7e9-c0e197c71c8f", + "7ca78c08-252a-4471-8644-bb5ff32d4ba0", + "0a9a7e1f-b9d0-4cc4-a60d-0319b160aaa3", + "5e0bd9bd-7b93-4f28-af87-19fc36ad61bd", + "a001fd3d-188f-4b5d-821b-7da978bf7442" + ] + }, + "principalId": { + "type": "string", + "description": "The principal ID that is owner of the subcription." + }, + "principalType": { + "type": "string", + "description": "The principal type of the assigned principal ID." + } + }, + "outputs": {} + }, + "2.0.0": { + "parameters": { + "assignments": { + "type": "array", + "description": "" + } + }, + "outputs": {} + }, + "2.0.1": { + "parameters": { + "assignments": { + "type": "array", + "description": "" + } + }, + "outputs": {} + }, + "2.0.2": { + "parameters": { + "assignments": { + "type": "array", + "description": "" + } + }, + "outputs": {} + }, + "2.0.3": { + "parameters": { + "assignments": { + "type": "array", + "description": "" + } + }, + "outputs": {} + }, + "2.0.4": { + "parameters": { + "assignments": { + "type": "array", + "description": "" + } + }, + "outputs": {} + }, + "2.0.x": { + "parameters": { + "assignments": { + "type": "array", + "description": "" + } + }, + "outputs": {} + }, + "2.x": { + "parameters": { + "assignments": { + "type": "array", + "description": "" + } + }, + "outputs": {} + }, + "latest": { + "parameters": { + "assignments": { + "type": "array", + "description": "" + } + }, + "outputs": {} + } + } + }, + "bicep/modules/searchservice": { + "all_tags": [ + "1.0.0", + "1.0.x", + "1.1.0", + "1.1.x", + "1.x", + "2.0.0", + "2.0.x", + "2.x", + "2023-06-21", + "2023-10-24", + "2024-03-19", + "2024-06-12", + "latest", + "preview" + ], + "versions": [ + "1.0.0", + "1.0.x", + "1.1.0", + "1.1.x", + "1.x", + "2.0.0", + "2.0.x", + "2.x", + "latest" + ], + "schema": { + "1.0.0": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the Search Service." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "sku": { + "type": "string", + "description": "The SKU of Search Service.", + "default": "basic", + "allowed": [ + "basic", + "standard" + ] + }, + "replicaCount": { + "type": "int", + "description": "The number of replicas in the Search Service. Default PROD = 3, other = 1", + "default": "[if(equals(parameters('environmentType'), 'PROD'), 3, 1)]" + }, + "partitionCount": { + "type": "int", + "description": "The number of partitions in the Search Service. Default PROD = 2, other = 1", + "default": "[if(equals(parameters('environmentType'), 'PROD'), 2, 1)]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "1.0.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the Search Service." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "sku": { + "type": "string", + "description": "The SKU of Search Service.", + "default": "basic", + "allowed": [ + "basic", + "standard" + ] + }, + "replicaCount": { + "type": "int", + "description": "The number of replicas in the Search Service. Default PROD = 3, other = 1", + "default": "[if(equals(parameters('environmentType'), 'PROD'), 3, 1)]" + }, + "partitionCount": { + "type": "int", + "description": "The number of partitions in the Search Service. Default PROD = 2, other = 1", + "default": "[if(equals(parameters('environmentType'), 'PROD'), 2, 1)]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "1.1.0": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the Search Service." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "sku": { + "type": "string", + "description": "The SKU of Search Service.", + "default": "basic", + "allowed": [ + "basic", + "standard" + ] + }, + "replicaCount": { + "type": "int", + "description": "The number of replicas in the Search Service. Default PROD = 3, other = 1. Consider increasing PROD before lauching.", + "default": "[if(equals(parameters('environmentType'), 'PROD'), 1, 1)]" + }, + "partitionCount": { + "type": "int", + "description": "The number of partitions in the Search Service. Default PROD = 2, other = 1. Consider increasing PROD before lauching.", + "default": "[if(equals(parameters('environmentType'), 'PROD'), 1, 1)]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "1.1.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the Search Service." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "sku": { + "type": "string", + "description": "The SKU of Search Service.", + "default": "basic", + "allowed": [ + "basic", + "standard" + ] + }, + "replicaCount": { + "type": "int", + "description": "The number of replicas in the Search Service. Default PROD = 3, other = 1. Consider increasing PROD before lauching.", + "default": "[if(equals(parameters('environmentType'), 'PROD'), 1, 1)]" + }, + "partitionCount": { + "type": "int", + "description": "The number of partitions in the Search Service. Default PROD = 2, other = 1. Consider increasing PROD before lauching.", + "default": "[if(equals(parameters('environmentType'), 'PROD'), 1, 1)]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "1.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the Search Service." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "sku": { + "type": "string", + "description": "The SKU of Search Service.", + "default": "basic", + "allowed": [ + "basic", + "standard" + ] + }, + "replicaCount": { + "type": "int", + "description": "The number of replicas in the Search Service. Default PROD = 3, other = 1. Consider increasing PROD before lauching.", + "default": "[if(equals(parameters('environmentType'), 'PROD'), 1, 1)]" + }, + "partitionCount": { + "type": "int", + "description": "The number of partitions in the Search Service. Default PROD = 2, other = 1. Consider increasing PROD before lauching.", + "default": "[if(equals(parameters('environmentType'), 'PROD'), 1, 1)]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "2.0.0": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the Search Service." + }, + "environmentType": { + "type": "", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "sku": { + "type": "", + "description": "The SKU of Search Service.", + "default": "basic" + }, + "replicaCount": { + "type": "int", + "description": "The number of replicas in the Search Service. Default PROD = 3, other = 1. Consider increasing PROD before lauching.", + "default": 1 + }, + "partitionCount": { + "type": "int", + "description": "The number of partitions in the Search Service. Default PROD = 2, other = 1. Consider increasing PROD before lauching.", + "default": 1 + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "2.0.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the Search Service." + }, + "environmentType": { + "type": "", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "sku": { + "type": "", + "description": "The SKU of Search Service.", + "default": "basic" + }, + "replicaCount": { + "type": "int", + "description": "The number of replicas in the Search Service. Default PROD = 3, other = 1. Consider increasing PROD before lauching.", + "default": 1 + }, + "partitionCount": { + "type": "int", + "description": "The number of partitions in the Search Service. Default PROD = 2, other = 1. Consider increasing PROD before lauching.", + "default": 1 + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "2.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the Search Service." + }, + "environmentType": { + "type": "", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "sku": { + "type": "", + "description": "The SKU of Search Service.", + "default": "basic" + }, + "replicaCount": { + "type": "int", + "description": "The number of replicas in the Search Service. Default PROD = 3, other = 1. Consider increasing PROD before lauching.", + "default": 1 + }, + "partitionCount": { + "type": "int", + "description": "The number of partitions in the Search Service. Default PROD = 2, other = 1. Consider increasing PROD before lauching.", + "default": 1 + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "latest": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the Search Service." + }, + "environmentType": { + "type": "", + "description": "The name of the environment. This must be DEV, TEST, or PROD." + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "sku": { + "type": "", + "description": "The SKU of Search Service.", + "default": "basic" + }, + "replicaCount": { + "type": "int", + "description": "The number of replicas in the Search Service. Default PROD = 3, other = 1. Consider increasing PROD before lauching.", + "default": 1 + }, + "partitionCount": { + "type": "int", + "description": "The number of partitions in the Search Service. Default PROD = 2, other = 1. Consider increasing PROD before lauching.", + "default": 1 + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + } + } + }, + "bicep/modules/servicebus": { + "all_tags": [ + "1.0.0", + "1.0.x", + "1.x", + "2.0.0", + "2.0.1", + "2.0.x", + "2.x", + "2022-11-28", + "2022-12-05", + "2022-12-07", + "2022-12-14", + "2022-12-15", + "2023-07-04", + "2023-07-05", + "2024-03-19", + "2024-06-12", + "latest", + "preview" + ], + "versions": [ + "1.0.0", + "1.0.x", + "1.x", + "2.0.0", + "2.0.1", + "2.0.x", + "2.x", + "latest" + ], + "schema": { + "1.0.0": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "queues": { + "type": "object", + "description": "Queues", + "default": {} + }, + "topics": { + "type": "array", + "description": "Topics", + "default": [ + {} + ] + }, + "subscriptions": { + "type": "array", + "description": "Subscriptions", + "default": [ + {} + ] + }, + "rules": { + "type": "array", + "description": "Rules", + "default": [ + {} + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "1.0.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "queues": { + "type": "object", + "description": "Queues", + "default": {} + }, + "topics": { + "type": "array", + "description": "Topics", + "default": [ + {} + ] + }, + "subscriptions": { + "type": "array", + "description": "Subscriptions", + "default": [ + {} + ] + }, + "rules": { + "type": "array", + "description": "Rules", + "default": [ + {} + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "1.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the App Service." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "queues": { + "type": "object", + "description": "Queues", + "default": {} + }, + "topics": { + "type": "array", + "description": "Topics", + "default": [ + {} + ] + }, + "subscriptions": { + "type": "array", + "description": "Subscriptions", + "default": [ + {} + ] + }, + "rules": { + "type": "array", + "description": "Rules", + "default": [ + {} + ] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "2.0.0": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the associated application." + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "topics": { + "type": "array", + "description": "Topics", + "default": [] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "2.0.1": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the associated application." + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "topics": { + "type": "array", + "description": "Topics", + "default": [] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "2.0.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the associated application." + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "topics": { + "type": "array", + "description": "Topics", + "default": [] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "2.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the associated application." + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "topics": { + "type": "array", + "description": "Topics", + "default": [] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "latest": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the associated application." + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "topics": { + "type": "array", + "description": "Topics", + "default": [] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + } + } + }, + "bicep/modules/sqldatabase": { + "all_tags": [ + "1.0.0", + "1.0.x", + "1.x", + "2.0.0", + "2.0.x", + "2.1.0", + "2.1.x", + "2.x", + "2022-06-20", + "2022-08-18", + "2022-08-22", + "2022-08-30", + "2022-08-31", + "2022-09-01", + "2022-09-06", + "2022-09-07", + "2022-09-09", + "2023-03-21", + "2023-03-22", + "2023-03-27", + "2023-10-02", + "2024-03-12", + "2024-03-19", + "latest", + "preview" + ], + "versions": [ + "1.0.0", + "1.0.x", + "1.x", + "2.0.0", + "2.0.x", + "2.1.0", + "2.1.x", + "2.x", + "latest" + ], + "schema": { + "1.0.0": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the SQL database" + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "sqlServerName": { + "type": "string", + "description": "Name of the SQL Server" + }, + "sqlDatabaseSku": { + "type": "object", + "description": "The name and tier of the SQL database SKU.", + "default": "[if(equals(parameters('environmentType'), 'PROD'), createObject('name', 'GP_Gen5', 'tier', 'GeneralPurpose', 'family', 'Gen5', 'capacity', 4), createObject('name', 'GP_S_Gen5', 'tier', 'GeneralPurpose', 'family', 'Gen5', 'capacity', 1))]" + }, + "minCapacity": { + "type": "string", + "description": "The Min vCores.", + "default": "0.5" + }, + "maxSizeBytes": { + "type": "int", + "description": "Data max size in bytes.", + "default": 34359738368 + }, + "autoPauseDelay": { + "type": "int", + "description": "Auto-pause delay in muinutes. Minimum: 60.", + "default": -1 + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "1.0.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the SQL database" + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "sqlServerName": { + "type": "string", + "description": "Name of the SQL Server" + }, + "sqlDatabaseSku": { + "type": "object", + "description": "The name and tier of the SQL database SKU.", + "default": "[if(equals(parameters('environmentType'), 'PROD'), createObject('name', 'GP_Gen5', 'tier', 'GeneralPurpose', 'family', 'Gen5', 'capacity', 4), createObject('name', 'GP_S_Gen5', 'tier', 'GeneralPurpose', 'family', 'Gen5', 'capacity', 1))]" + }, + "minCapacity": { + "type": "string", + "description": "The Min vCores.", + "default": "0.5" + }, + "maxSizeBytes": { + "type": "int", + "description": "Data max size in bytes.", + "default": 34359738368 + }, + "autoPauseDelay": { + "type": "int", + "description": "Auto-pause delay in muinutes. Minimum: 60.", + "default": -1 + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "1.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the SQL database" + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "sqlServerName": { + "type": "string", + "description": "Name of the SQL Server" + }, + "sqlDatabaseSku": { + "type": "object", + "description": "The name and tier of the SQL database SKU.", + "default": "[if(equals(parameters('environmentType'), 'PROD'), createObject('name', 'GP_Gen5', 'tier', 'GeneralPurpose', 'family', 'Gen5', 'capacity', 4), createObject('name', 'GP_S_Gen5', 'tier', 'GeneralPurpose', 'family', 'Gen5', 'capacity', 1))]" + }, + "minCapacity": { + "type": "string", + "description": "The Min vCores.", + "default": "0.5" + }, + "maxSizeBytes": { + "type": "int", + "description": "Data max size in bytes.", + "default": 34359738368 + }, + "autoPauseDelay": { + "type": "int", + "description": "Auto-pause delay in muinutes. Minimum: 60.", + "default": -1 + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "2.0.0": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the SQL database" + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "sqlServerName": { + "type": "string", + "description": "Name of the SQL Server" + }, + "sqlDatabaseSku": { + "type": "", + "description": "The name and tier of the SQL database SKU.", + "default": "[__bicep.getDTUBasedDatabaseSku(10)]" + }, + "minCapacity": { + "type": "string", + "description": "The Min vCores.", + "default": "0.5" + }, + "maxSize": { + "type": "", + "description": "Data max size.", + "default": { + "amount": 32, + "unit": "GB" + } + }, + "autoPauseDelay": { + "type": "int", + "description": "Auto-pause delay in muinutes. Minimum: 60.", + "default": -1 + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "2.0.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the SQL database" + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "sqlServerName": { + "type": "string", + "description": "Name of the SQL Server" + }, + "sqlDatabaseSku": { + "type": "", + "description": "The name and tier of the SQL database SKU.", + "default": "[__bicep.getDTUBasedDatabaseSku(10)]" + }, + "minCapacity": { + "type": "string", + "description": "The Min vCores.", + "default": "0.5" + }, + "maxSize": { + "type": "", + "description": "Data max size.", + "default": { + "amount": 32, + "unit": "GB" + } + }, + "autoPauseDelay": { + "type": "int", + "description": "Auto-pause delay in muinutes. Minimum: 60.", + "default": -1 + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": {} + }, + "2.1.0": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the SQL database" + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "sqlServerName": { + "type": "string", + "description": "Name of the SQL Server" + }, + "sqlDatabaseSku": { + "type": "", + "description": "The name and tier of the SQL database SKU.", + "default": "[__bicep.getDTUBasedDatabaseSku(10)]" + }, + "minCapacity": { + "type": "string", + "description": "The Min vCores.", + "default": "0.5" + }, + "maxSize": { + "type": "", + "description": "Data max size.", + "default": { + "amount": 32, + "unit": "GB" + } + }, + "autoPauseDelay": { + "type": "int", + "description": "Auto-pause delay in muinutes. Minimum: 60.", + "default": -1 + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "connectionString": "" + } + }, + "2.1.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the SQL database" + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "sqlServerName": { + "type": "string", + "description": "Name of the SQL Server" + }, + "sqlDatabaseSku": { + "type": "", + "description": "The name and tier of the SQL database SKU.", + "default": "[__bicep.getDTUBasedDatabaseSku(10)]" + }, + "minCapacity": { + "type": "string", + "description": "The Min vCores.", + "default": "0.5" + }, + "maxSize": { + "type": "", + "description": "Data max size.", + "default": { + "amount": 32, + "unit": "GB" + } + }, + "autoPauseDelay": { + "type": "int", + "description": "Auto-pause delay in muinutes. Minimum: 60.", + "default": -1 + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "connectionString": "" + } + }, + "2.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the SQL database" + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "sqlServerName": { + "type": "string", + "description": "Name of the SQL Server" + }, + "sqlDatabaseSku": { + "type": "", + "description": "The name and tier of the SQL database SKU.", + "default": "[__bicep.getDTUBasedDatabaseSku(10)]" + }, + "minCapacity": { + "type": "string", + "description": "The Min vCores.", + "default": "0.5" + }, + "maxSize": { + "type": "", + "description": "Data max size.", + "default": { + "amount": 32, + "unit": "GB" + } + }, + "autoPauseDelay": { + "type": "int", + "description": "Auto-pause delay in muinutes. Minimum: 60.", + "default": -1 + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "connectionString": "" + } + }, + "latest": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the SQL database" + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "sqlServerName": { + "type": "string", + "description": "Name of the SQL Server" + }, + "sqlDatabaseSku": { + "type": "", + "description": "The name and tier of the SQL database SKU.", + "default": "[__bicep.getDTUBasedDatabaseSku(10)]" + }, + "minCapacity": { + "type": "string", + "description": "The Min vCores.", + "default": "0.5" + }, + "maxSize": { + "type": "", + "description": "Data max size.", + "default": { + "amount": 32, + "unit": "GB" + } + }, + "autoPauseDelay": { + "type": "int", + "description": "Auto-pause delay in muinutes. Minimum: 60.", + "default": -1 + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "connectionString": "" + } + } + } + }, + "bicep/modules/sqlserver": { + "all_tags": [ + "1.0.0", + "1.0.x", + "1.1.0", + "1.1.x", + "1.x", + "2.0.0", + "2.0.x", + "2.x", + "2022-08-31", + "2022-09-07", + "2022-09-09", + "2022-09-19", + "2023-03-15", + "2023-03-22", + "2023-04-13", + "2023-04-14", + "2024-03-19", + "latest", + "preview" + ], + "versions": [ + "1.0.0", + "1.0.x", + "1.1.0", + "1.1.x", + "1.x", + "2.0.0", + "2.0.x", + "2.x", + "latest" + ], + "schema": { + "1.0.0": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the SQL-server" + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "sqlServerAdministratorLogin": { + "type": "securestring", + "description": "The administrator login username for the SQL server." + }, + "sqlServerAdministratorPassword": { + "type": "securestring", + "description": "" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "sqlServerId": "string", + "databaseServerName": "string" + } + }, + "1.0.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the SQL-server" + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "sqlServerAdministratorLogin": { + "type": "securestring", + "description": "The administrator login username for the SQL server." + }, + "sqlServerAdministratorPassword": { + "type": "securestring", + "description": "" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "sqlServerId": "string", + "databaseServerName": "string" + } + }, + "1.1.0": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the SQL-server" + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "overrideDefaultsForAutomaticTuning": { + "type": "bool", + "description": "", + "default": true + }, + "sqlServerAdministratorLogin": { + "type": "securestring", + "description": "The administrator login username for the SQL server." + }, + "sqlServerAdministratorPassword": { + "type": "securestring", + "description": "" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "sqlServerId": "string", + "databaseServerName": "string" + } + }, + "1.1.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the SQL-server" + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "overrideDefaultsForAutomaticTuning": { + "type": "bool", + "description": "", + "default": true + }, + "sqlServerAdministratorLogin": { + "type": "securestring", + "description": "The administrator login username for the SQL server." + }, + "sqlServerAdministratorPassword": { + "type": "securestring", + "description": "" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "sqlServerId": "string", + "databaseServerName": "string" + } + }, + "1.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the SQL-server" + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "overrideDefaultsForAutomaticTuning": { + "type": "bool", + "description": "", + "default": true + }, + "sqlServerAdministratorLogin": { + "type": "securestring", + "description": "The administrator login username for the SQL server." + }, + "sqlServerAdministratorPassword": { + "type": "securestring", + "description": "" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "sqlServerId": "string", + "databaseServerName": "string" + } + }, + "2.0.0": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the SQL-server" + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "overrideDefaultsForAutomaticTuning": { + "type": "bool", + "description": "Whether to force ForceLastGoodPlan, CreateIndex, DropIndex. Defaults to \"true\". Disable for Umbraco", + "default": true + }, + "sqlServerAdministratorLogin": { + "type": "securestring", + "description": "The administrator login username for the SQL server." + }, + "sqlServerAdministratorPassword": { + "type": "securestring", + "description": "" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "sqlServerId": "string", + "databaseServerName": "string" + } + }, + "2.0.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the SQL-server" + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "overrideDefaultsForAutomaticTuning": { + "type": "bool", + "description": "Whether to force ForceLastGoodPlan, CreateIndex, DropIndex. Defaults to \"true\". Disable for Umbraco", + "default": true + }, + "sqlServerAdministratorLogin": { + "type": "securestring", + "description": "The administrator login username for the SQL server." + }, + "sqlServerAdministratorPassword": { + "type": "securestring", + "description": "" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "sqlServerId": "string", + "databaseServerName": "string" + } + }, + "2.x": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the SQL-server" + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "overrideDefaultsForAutomaticTuning": { + "type": "bool", + "description": "Whether to force ForceLastGoodPlan, CreateIndex, DropIndex. Defaults to \"true\". Disable for Umbraco", + "default": true + }, + "sqlServerAdministratorLogin": { + "type": "securestring", + "description": "The administrator login username for the SQL server." + }, + "sqlServerAdministratorPassword": { + "type": "securestring", + "description": "" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "sqlServerId": "string", + "databaseServerName": "string" + } + }, + "latest": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the SQL-server" + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "overrideDefaultsForAutomaticTuning": { + "type": "bool", + "description": "Whether to force ForceLastGoodPlan, CreateIndex, DropIndex. Defaults to \"true\". Disable for Umbraco", + "default": true + }, + "sqlServerAdministratorLogin": { + "type": "securestring", + "description": "The administrator login username for the SQL server." + }, + "sqlServerAdministratorPassword": { + "type": "securestring", + "description": "" + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "sqlServerId": "string", + "databaseServerName": "string" + } + } + } + }, + "bicep/modules/storageaccount": { + "all_tags": [ + "1.0.0", + "1.0.x", + "1.1.0", + "1.1.1", + "1.1.2", + "1.1.3", + "1.1.x", + "1.x", + "2.0.0", + "2.0.x", + "2.1.0", + "2.1.x", + "2.2.0", + "2.2.x", + "2.x", + "2022-06-20", + "2022-08-04", + "2023-06-07", + "2023-06-08", + "2023-06-09", + "2023-08-10", + "2023-08-14", + "2024-02-15", + "2024-02-21", + "2024-02-22", + "2024-03-19", + "2024-05-14", + "2024-06-12", + "2024-06-26", + "2024-08-15", + "latest", + "preview" + ], + "versions": [ + "1.0.0", + "1.0.x", + "1.1.0", + "1.1.1", + "1.1.2", + "1.1.3", + "1.1.x", + "1.x", + "2.0.0" + ], + "schema": { + "1.0.0": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the Storage Account." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "containerNames": { + "type": "array", + "description": "The container names.", + "default": [] + }, + "enableBlobLogs": { + "type": "bool", + "description": "", + "default": false + }, + "allowedBlobOrigins": { + "type": "array", + "description": "Specifies CORS rules for the Blob service.", + "default": [] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "name": "string" + } + }, + "1.0.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the Storage Account." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "containerNames": { + "type": "array", + "description": "The container names.", + "default": [] + }, + "enableBlobLogs": { + "type": "bool", + "description": "", + "default": false + }, + "allowedBlobOrigins": { + "type": "array", + "description": "Specifies CORS rules for the Blob service.", + "default": [] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "name": "string" + } + }, + "1.1.0": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the Storage Account." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "containerNames": { + "type": "array", + "description": "The container names.", + "default": [] + }, + "enableBlobLogs": { + "type": "bool", + "description": "", + "default": false + }, + "allowedBlobOrigins": { + "type": "array", + "description": "Specifies CORS rules for the Blob service.", + "default": [] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "enableBlob": { + "type": "bool", + "description": "Enable Blob service", + "default": true + }, + "enableFile": { + "type": "bool", + "description": "Enable File service", + "default": false + }, + "enableQueue": { + "type": "bool", + "description": "Enable Queue service", + "default": false + }, + "enableTable": { + "type": "bool", + "description": "Enable Table service", + "default": false + } + }, + "outputs": { + "name": "string" + } + }, + "1.1.1": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the Storage Account." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "containerNames": { + "type": "array", + "description": "The container names.", + "default": [] + }, + "enableBlobLogs": { + "type": "bool", + "description": "", + "default": false + }, + "allowedBlobOrigins": { + "type": "array", + "description": "Specifies CORS rules for the Blob service.", + "default": [] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "enableBlob": { + "type": "bool", + "description": "Enable Blob service", + "default": true + }, + "enableFile": { + "type": "bool", + "description": "Enable File service", + "default": false + }, + "enableQueue": { + "type": "bool", + "description": "Enable Queue service", + "default": false + }, + "enableTable": { + "type": "bool", + "description": "Enable Table service", + "default": false + } + }, + "outputs": { + "name": "string" + } + }, + "1.1.2": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the Storage Account." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "containerNames": { + "type": "array", + "description": "The container names.", + "default": [] + }, + "enableBlobLogs": { + "type": "bool", + "description": "", + "default": false + }, + "allowedBlobOrigins": { + "type": "array", + "description": "Specifies CORS rules for the Blob service.", + "default": [] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "enableBlob": { + "type": "bool", + "description": "Enable Blob service", + "default": true + }, + "enableFile": { + "type": "bool", + "description": "Enable File service", + "default": false + }, + "enableQueue": { + "type": "bool", + "description": "Enable Queue service", + "default": false + }, + "enableTable": { + "type": "bool", + "description": "Enable Table service", + "default": false + } + }, + "outputs": { + "name": "string" + } + }, + "1.1.3": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the Storage Account." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "containerNames": { + "type": "array", + "description": "The container names.", + "default": [] + }, + "enableBlobLogs": { + "type": "bool", + "description": "", + "default": false + }, + "allowedBlobOrigins": { + "type": "array", + "description": "Specifies CORS rules for the Blob service.", + "default": [] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "enableBlob": { + "type": "bool", + "description": "Enable Blob service", + "default": true + }, + "enableFile": { + "type": "bool", + "description": "Enable File service", + "default": false + }, + "enableQueue": { + "type": "bool", + "description": "Enable Queue service", + "default": false + }, + "enableTable": { + "type": "bool", + "description": "Enable Table service", + "default": false + } + }, + "outputs": { + "name": "string" + } + }, + "1.1.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the Storage Account." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "containerNames": { + "type": "array", + "description": "The container names.", + "default": [] + }, + "enableBlobLogs": { + "type": "bool", + "description": "", + "default": false + }, + "allowedBlobOrigins": { + "type": "array", + "description": "Specifies CORS rules for the Blob service.", + "default": [] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "enableBlob": { + "type": "bool", + "description": "Enable Blob service", + "default": true + }, + "enableFile": { + "type": "bool", + "description": "Enable File service", + "default": false + }, + "enableQueue": { + "type": "bool", + "description": "Enable Queue service", + "default": false + }, + "enableTable": { + "type": "bool", + "description": "Enable Table service", + "default": false + } + }, + "outputs": { + "name": "string" + } + }, + "1.x": { + "parameters": { + "projectName": { + "type": "string", + "description": "Name of the Storage Account." + }, + "environmentType": { + "type": "string", + "description": "The name of the environment. This must be DEV, TEST, or PROD.", + "allowed": [ + "DEV", + "TEST", + "PROD" + ] + }, + "containerNames": { + "type": "array", + "description": "The container names.", + "default": [] + }, + "enableBlobLogs": { + "type": "bool", + "description": "", + "default": false + }, + "allowedBlobOrigins": { + "type": "array", + "description": "Specifies CORS rules for the Blob service.", + "default": [] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + }, + "enableBlob": { + "type": "bool", + "description": "Enable Blob service", + "default": true + }, + "enableFile": { + "type": "bool", + "description": "Enable File service", + "default": false + }, + "enableQueue": { + "type": "bool", + "description": "Enable Queue service", + "default": false + }, + "enableTable": { + "type": "bool", + "description": "Enable Table service", + "default": false + } + }, + "outputs": { + "name": "string" + } + }, + "2.0.0": { + "parameters": { + "projectName": { + "type": "", + "description": "Name of the Storage Account." + }, + "environmentType": { + "type": "", + "description": "The name of the environment." + }, + "containerNames": { + "type": "array", + "description": "The container names.", + "default": [] + }, + "tableNames": { + "type": "array", + "description": "The table names.", + "default": [] + }, + "queueNames": { + "type": "array", + "description": "The queue names.", + "default": [] + }, + "enableBlobLogs": { + "type": "bool", + "description": "", + "default": false + }, + "allowedBlobOrigins": { + "type": "array", + "description": "Specifies CORS rules for the Blob service.", + "default": [] + }, + "location": { + "type": "string", + "description": "The Azure region into which the resources should be deployed.", + "default": "[resourceGroup().location]" + }, + "tags": { + "type": "object", + "description": "Tags." + } + }, + "outputs": { + "name": "string" + } + } + } + }, + "bicep/util/types": { + "all_tags": [ + "1.0.0", + "1.0.x", + "1.1.0", + "1.1.x", + "1.x", + "2.0.0", + "2.0.x", + "2.1.0", + "2.1.x", + "2.2.0", + "2.2.x", + "2.3.0", + "2.3.x", + "2.4.0", + "2.4.x", + "2.5.0", + "2.5.x", + "2.x", + "latest", + "preview" + ], + "versions": [ + "latest" + ], + "schema": { + "latest": { + "parameters": {}, + "outputs": {} + } + } + } + } +} \ No newline at end of file diff --git a/ilsp/bicep_lsp/modules.py b/ilsp/bicep_lsp/modules.py index 0b015ee..3b07cfb 100644 --- a/ilsp/bicep_lsp/modules.py +++ b/ilsp/bicep_lsp/modules.py @@ -1,84 +1,69 @@ """ -LRU Bicep module catalog — fetched from DevOpsMCP at startup. +LRU Bicep module catalog — loaded from the bundled catalog file at startup. + +The catalog (bicep_modules_catalog.json) is baked into the Docker image at build time. +No runtime dependency on DevOpsMCP or any external service. Provides completion items for LRU-internal Bicep modules with higher sort priority than standard Azure modules. """ -import asyncio +import json import logging -import os -import time +import pathlib from typing import Any -import aiohttp - logger = logging.getLogger(__name__) -DEVOPS_MCP_URL = os.getenv("DEVOPS_MCP_URL", "https://devops-mcp.i80.dk") -REFRESH_INTERVAL = 3600 # 1 hour +# Catalog is baked into the image root at /bicep_modules_catalog.json +_CATALOG_PATHS = [ + pathlib.Path("/bicep_modules_catalog.json"), + pathlib.Path(__file__).parent.parent.parent / "bicep_modules_catalog.json", +] + + +def _load_catalog() -> list[dict[str, Any]]: + """Load modules from the bundled catalog file.""" + for path in _CATALOG_PATHS: + if path.exists(): + try: + data = json.loads(path.read_text()) + modules_raw = data.get("modules", {}) + registry = data.get("registry", "iactemplatereg.azurecr.io") + modules = [] + # modules is a dict: { "bicep/modules/appservice": { versions: [...], ... }, ... } + for mod_path, info in modules_raw.items(): + versions = info.get("versions", ["latest"]) + name = mod_path.split("/")[-1] if "/" in mod_path else mod_path + modules.append({ + "name": name, + "path": mod_path, + "versions": versions, + "latest": versions[-1] if versions else "latest", + "registry": registry, + }) + logger.info("Bicep catalog loaded from %s: %d modules", path, len(modules)) + return modules + except Exception: + logger.exception("Failed to parse catalog at %s", path) + logger.warning("No bicep_modules_catalog.json found — completions disabled") + return [] class BicepModuleCatalog: - """Fetches and caches LRU Bicep modules from DevOpsMCP.""" + """In-memory catalog of LRU Bicep modules, loaded once at startup.""" _modules: list[dict[str, Any]] = [] - _last_refresh: float = 0 - _lock = asyncio.Lock() @classmethod - async def get_modules(cls) -> list[dict[str, Any]]: - if not cls._modules or time.time() - cls._last_refresh > REFRESH_INTERVAL: - await cls._refresh() + def load(cls) -> None: + """Load catalog from disk. Call once at startup.""" + cls._modules = _load_catalog() + + @classmethod + def get_modules(cls) -> list[dict[str, Any]]: return cls._modules - @classmethod - async def start_background_refresh(cls) -> None: - asyncio.create_task(cls._refresh_loop()) - - @classmethod - async def _refresh_loop(cls) -> None: - while True: - await cls._refresh() - await asyncio.sleep(REFRESH_INTERVAL) - - @classmethod - async def _refresh(cls) -> None: - async with cls._lock: - try: - modules = await cls._fetch_from_devops_mcp() - cls._modules = modules - cls._last_refresh = time.time() - logger.info("Bicep module catalog refreshed: %d modules", len(modules)) - except Exception: - logger.exception("Failed to refresh Bicep module catalog — using stale cache") - - @classmethod - async def _fetch_from_devops_mcp(cls) -> list[dict[str, Any]]: - """Call DevOpsMCP /api/bicep-modules REST endpoint.""" - url = f"{DEVOPS_MCP_URL}/api/bicep-modules" - - async with aiohttp.ClientSession(timeout=aiohttp.ClientTimeout(total=20)) as session: - async with session.get(url) as resp: - if resp.status != 200: - raise RuntimeError(f"DevOpsMCP returned {resp.status}") - data = await resp.json() - - modules = [] - for m in data.get("modules", []): - path = m.get("path", "") - versions = m.get("versions", ["latest"]) - name = path.split("/")[-1] if "/" in path else path - modules.append({ - "name": name, - "path": path, - "versions": versions, - "latest": versions[-1] if versions else "latest", - "registry": data.get("registry", "iactemplatereg.azurecr.io"), - }) - - return modules - @classmethod def as_completion_items(cls) -> list[dict[str, Any]]: items = [] @@ -89,7 +74,7 @@ class BicepModuleCatalog: "kind": 9, # Module "detail": f"LRU Bicep module — {mod['registry']}", "insertText": ref, - "sortText": f"0_lru_{mod['name']}", # sorts above standard az modules + "sortText": f"0_lru_{mod['name']}", "documentation": { "kind": "markdown", "value": ( diff --git a/ilsp/server.py b/ilsp/server.py index d5dd3d1..bd76e07 100644 --- a/ilsp/server.py +++ b/ilsp/server.py @@ -11,11 +11,14 @@ import asyncio import logging import os import signal +import subprocess +import sys import threading from aiohttp import web from .python_lsp.catalog import PypiCatalog +from .bicep_lsp.modules import BicepModuleCatalog from .bicep_lsp.proxy import serve_bicep logger = logging.getLogger(__name__) @@ -25,58 +28,47 @@ BICEP_LSP_PORT = int(os.getenv("BICEP_LSP_PORT", "2088")) HEALTH_PORT = int(os.getenv("HEALTH_PORT", "2089")) +def _serve_python_lsp(port: int) -> None: + """Start pylsp in TCP server mode; restart on unexpected exit (blocking).""" + while True: + proc = subprocess.Popen( + [sys.executable, "-m", "pylsp", "--tcp", "--host", "0.0.0.0", "--port", str(port)], + ) + logger.info("Python LSP (pylsp) listening on TCP :%d PID=%d", port, proc.pid) + proc.wait() + logger.warning("pylsp exited (code %s) — restarting", proc.returncode) + + async def _health_app() -> web.Application: app = web.Application() async def health(_: web.Request) -> web.Response: - pypi_count = len(PypiCatalog._packages) - from .bicep_lsp.modules import BicepModuleCatalog - bicep_count = len(BicepModuleCatalog._modules) return web.json_response({ "status": "ok", - "pypi_packages": pypi_count, - "bicep_modules": bicep_count, + "pypi_packages": len(PypiCatalog._packages), + "bicep_modules": len(BicepModuleCatalog._modules), }) app.router.add_get("/health", health) return app -async def _serve_python_lsp(port: int) -> None: - """Start pylsp in TCP server mode.""" - import subprocess, sys - proc = await asyncio.create_subprocess_exec( - sys.executable, "-m", "pylsp", - "--tcp", "--host", "0.0.0.0", "--port", str(port), - ) - logger.info("Python LSP (pylsp) listening on TCP :%d PID=%d", port, proc.pid) - await proc.wait() - logger.warning("pylsp exited — restarting") - - async def main_async() -> None: logging.basicConfig( level=logging.INFO, format="%(asctime)s [%(levelname)s] %(name)s: %(message)s", ) - logging.getLogger("ilsp.bicep_lsp.proxy").setLevel(logging.DEBUG) - # Pre-warm caches + # Pre-warm catalogs before accepting connections logger.info("Pre-warming catalogs…") - from .bicep_lsp.modules import BicepModuleCatalog - await asyncio.gather( - PypiCatalog.start_background_refresh(), - BicepModuleCatalog.start_background_refresh(), - ) + BicepModuleCatalog.load() + await PypiCatalog.start_background_refresh() - # Start Bicep LSP proxy in a daemon thread (blocking socket server) - threading.Thread( - target=serve_bicep, - args=(BICEP_LSP_PORT,), - daemon=True, - ).start() + # Both LSP servers run in daemon threads (blocking socket/process loops) + threading.Thread(target=_serve_python_lsp, args=(PYTHON_LSP_PORT,), daemon=True).start() + threading.Thread(target=serve_bicep, args=(BICEP_LSP_PORT,), daemon=True).start() - # Build health app + # Health HTTP server — keeps the process alive via the asyncio event loop health_app = await _health_app() runner = web.AppRunner(health_app) await runner.setup() @@ -84,8 +76,8 @@ async def main_async() -> None: await site.start() logger.info("Health endpoint on http://0.0.0.0:%d/health", HEALTH_PORT) - # Run remaining asyncio services - await _serve_python_lsp(PYTHON_LSP_PORT) + # Wait indefinitely; signal handlers in main() will stop the loop + await asyncio.Event().wait() def main() -> None: