Windows WebApp
Last updated: November 28, 2024WebApp is a container for your web application. Windows WebApp requires a Windows AppServicePlan.
The code below creates a Windows WebApp configured for Dotnet version 8.0
The code below creates a Windows WebApp configured for Dotnet version 8.0
resource "azurerm_windows_web_app" "webapp" {
name = "${var.environment_prefix}-${var.solution_prefix}${var.customer_prefix}-webapp"
location = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
service_plan_id = azurerm_service_plan.appserviceplan.id
public_network_access_enabled = true
tags = var.tags
site_config {
application_stack {
dotnet_version = "v8.0"
}
}
}Setting the connection string
Add the following snippet to your webapp resource definition to add the connection string:
connection_string {
name = "DemoDotnetContext"
type = "SQLAzure"
value = "Server=tcp:${azurerm_mssql_server.server.fully_qualified_domain_name};Authentication=Active Directory Default; Database=${azurerm_mssql_database.db.name};User Id=${azurerm_user_assigned_identity.webapp_identity.client_id};"
}replace the values as per your need
Set the WebApp identity
If you want to assign a user managed identity to your web app, you can do this by adding:
Set the WebApp identity
If you want to assign a user managed identity to your web app, you can do this by adding:
dentity {
type = "UserAssigned"
identity_ids = [azurerm_user_assigned_identity.webapp_identity.id]
}The complete example would be:
resource "azurerm_user_assigned_identity" "webapp_identity" {
name = "DemoWebAppIdentity"
resource_group_name = azurerm_resource_group.rg.name
location = azurerm_resource_group.rg.location
tags = var.tags
}
resource "azurerm_windows_web_app" "webapp" {
name = "${var.environment_prefix}-${var.solution_prefix}${var.customer_prefix}-webapp"
location = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
service_plan_id = azurerm_service_plan.appserviceplan.id
public_network_access_enabled = true
tags = var.tags
site_config {
application_stack {
dotnet_version = "v8.0"
}
}
identity {
type = "UserAssigned"
identity_ids = [azurerm_user_assigned_identity.webapp_identity.id]
}
connection_string {
name = "DemoDotnetContext"
type = "SQLAzure"
value = "Server=tcp:${azurerm_mssql_server.server.fully_qualified_domain_name};Authentication=Active Directory Default; Database=${azurerm_mssql_database.db.name};User Id=${azurerm_user_assigned_identity.webapp_identity.client_id};"
}
}
Further reading