web-site
Report Package web-site
If you believe that this package or its contents contain harmful information, please inform us.
Please be aware that we will never share your credentials.
This Terraform Azure Verified Module deploys: terraform-azurerm-avm-res-web-site
ipm add --package avm-terraform/web-site --version 0.15.0
Published: 29-07-2025
Project URL: https://ipmhub.io/avm-terraform
Package Type: Terraform
License: MIT
No readme file uploaded for this version
Release History
Version 0.15.0 - 2025-03-04
Breaking Change(s)
azurerm
required version increased to4.21.1
forazurerm_function_app_flex_consumption
Feature(s)
- support for
FC1
/azurerm_function_app_flex_consumption
(addresses #159)
Update(s)
None
Contributors
None
Version 0.14.2 - 2025-01-29
Breaking Change(s)
None
Feature(s)
None
Update(s)
bugfix
whereadditional_login_parameters
was set to accept a list of string where provide expects a map of string (addresses Issue #157)
variable "auth_settings" {
type = map(object({
additional_login_parameters = optional(list(string)) ------> additional_login_parameters = optional(map(string))
.
.
.
bugfix
to address issue where ifapp_service_name
is not explicitly set, module references name that will cause error (addresses Issue #156) Before:
app_service_name = coalesce(each.value.app_service_name, "${var.name}-asp")
After:
app_service_name = coalesce(each.value.app_service_name, var.name, "${var.name}-asp")
NOTE: Will likely remove "${var.name}-asp"
in the future.
bugfix
to properly add tags for slot private endpoints Before:
tags = var.all_child_resources_inherit_tags ? merge(var.tags, each.value.pe_value.tags) : each.value.tags
After:
tags = var.all_child_resources_inherit_tags ? merge(var.tags, each.value.pe_value.tags) : each.value.pe_value.tags
Contributors
- @niekvanraaij (PR #155)
Version 0.14.1 - 2025-01-13
Breaking Change(s)
None
Feature(s)
- added new output
system_assigned_mi_principal_id_slots
for slots' principal id
Update(s)
None
Version 0.14.0 - 2024-12-19
BE AWARE - this version my introduce breaking changes to your existing configuration(s)
Breaking Change(s)
- introducing
feature
that allows for different application insights for slots via Issue #145, involving changes to logic regarding the application insights for deployment slots
CODE:
Function App Slots
application_insights_connection_string = var.enable_application_insights ? (each.value.site_config.slot_application_insights_object_key != null ? coalesce(each.value.site_config.application_insights_connection_string, azurerm_application_insights.slot[each.value.site_config.slot_application_insights_object_key].connection_string, azurerm_application_insights.this[0].connection_string) : coalesce(each.value.site_config.application_insights_connection_string, azurerm_application_insights.this[0].connection_string)) : null application_insights_key = var.enable_application_insights ? (each.value.site_config.slot_application_insights_object_key != null ? coalesce(each.value.site_config.application_insights_key, azurerm_application_insights.slot[each.value.site_config.slot_application_insights_object_key].instrumentation_key, azurerm_application_insights.this[0].instrumentation_key) : coalesce(each.value.site_config.application_insights_key, azurerm_application_insights.this[0].instrumentation_key)) : null
Web App Slots
app_settings = var.enable_application_insights ? merge({ "APPLICATIONINSIGHTS_CONNECTION_STRING" = (each.value.site_config.slot_application_insights_object_key != null ? coalesce(each.value.site_config.application_insights_connection_string, azurerm_application_insights.slot[each.value.site_config.slot_application_insights_object_key].connection_string, azurerm_application_insights.this[0].connection_string) : coalesce(each.value.site_config.application_insights_connection_string, azurerm_application_insights.this[0].connection_string)) }, { "APPINSIGHTS_INSTRUMENTATIONKEY" = (each.value.site_config.slot_application_insights_object_key != null ? coalesce(each.value.site_config.application_insights_key, azurerm_application_insights.slot[each.value.site_config.slot_application_insights_object_key].instrumentation_key, azurerm_application_insights.this[0].instrumentation_key) : coalesce(each.value.site_config.application_insights_key, azurerm_application_insights.this[0].instrumentation_key)) }, each.value.app_settings) : each.value.app_settings
Feature(s)
- new
slot_application_insights
object variable - new
slot_application_insights_object_key
variable
Update(s)
- addressed bug where
dotnet_core_version
was missing fromapplication_stack
(Issue #146) - added the following to documentation of
deployment_slots
variable:
If you plan to use the attribute reference of an external Application Insights instance for
application_insights_connection_string
andapplication_insights_key
, you will likely need to remove the sensitivity level. For example, using thenonsensitive
function.
- updated
example
/deploy_slots_with_interfaces
to show different application insights instance deployment model.
Version 0.13.0 - 2024-11-22
Breaking Change(s)
- module supports
azurerm
4.8.x
and later versions always_on
defaults totrue
ftps_state
defaults to"FtpsOnly"
minimum_tls_version
defaults to"1.3"
Feature(s)
None
Update(s)
examples
usesregions
0.8.x
and later versions- removed
main.service_plan.tf
andmain.storage_account.tf
- removed comments from
variables.tf
Version 0.12.1 - 2024-11-12
Breaking Change(s)
None
Feature(s)
- addressing bug where
slot.site_config
was missingvirtual_application
block via Issue #140
Update(s)
.github/workflows
upgrades
Version 0.12.0 - 2024-11-07
Breaking Change(s)
PLEASE READ! Includes VERY IMPORTANT Breaking Changes
v0.12.0
will no longer supportazurerm
3.x
but will now supportazurerm
4.x
Feature(s)
azurerm
4.x
support addressing Issue #122- enabling tls
1.3
support throughazurerm
4.8
support (Issue #136)
Update(s)
- bug fixes to unmanaged private endpoints with deployment slots as highlighted in PR #129
- arguments removed as no longer supported by
azurerm
4.x
docker_container_name
(as part ofapplication_stack
)docker_container_tag
(as part ofapplication_stack
)path
(as part ofslow_request
. Please youslow_request_with_path
if needed.)auto_heal_enabled
login
map made optional by module (still required by provider forauth_settings_v2
) so that a defaultlogin
map can be automatically set forauth_settings_v2
addressing Issue #130
Version 0.11.0 - 2024-10-23
Breaking Change(s)
PLEASE READ! Includes VERY IMPORTANT Breaking Changes
- module no longer supports the creation and management of
App Service Plan
- removed the following variables:
create_service_plan
new_service_plan
- removed related outputs:
service_plan
service_plan_id
service_plan_name
- removed the following variables:
Users will need to reference an app service plan using
service_plan_resource_id
, thus making it arequired
input.
- module no longer supports the creation and management of
Storage Account
forFunction App
- removed the following variables:
function_app_create_storage_account
function_app_storage_account
function_app_storage_account_access_key
function_app_storage_account_inherit_lock
function_app_storage_account_name
function_app_storage_uses_managed_identity
- removed related outputs:
storage_account
storage_account_lock
- removed the following variables:
Users can still supply an existing storage account using
storage_account_access_key
(orstorage_uses_managed_identity
) andstorage_account_name
.
Terraform
minimum required version raised to1.9
Feature(s)
None
Update(s)
fix
: addressing Issue #120 whereazurerm_windows_function_app
site config
was missingip_restriction_default_action
andscm_ip_restriction_default_action
- improvements variable documentation
Version 0.10.0 - 2024-09-09
Breaking Change(s)
- migration to version
0.1.0
ofavm-res-web-serverfarm
fromazurerm_service_plan
- removed certain outputs regarding
service_plan
Feature(s)
- added addtitional support for
avm-res-storage-storageaccount
inputs - added additional support for
new_service_plan
variable
Update(s)
- module now uses version
0.2.4
ofavm-res-storage-storageaccount
x_fd_health_probe
to properly work when usingip_restriction
/scm_ip_restriction
and Azure Front Door- module is now configured to zone redundant by default
worker_count
defaults to3
zone_balancing_enabled
defaults totrue
sku_name
defaults toP1v2
Version 0.9.1 - 2024-08-19
Breaking Change(s)
None
Feature(s)
None
Update(s)
- updates for github policies and workflows
- removed providers from yml templates and markdown documentation
- removed examples for:
linux_function_app
linux_web_app
windows_function_app
windows_web_app
- created examples for:
function_app
web_app
Version 0.9.0 - 2024-07-30
Breaking Change(s)
- changes to
key
references ofdynamic
blocksapplication_logs
andhttp_logs
forlogs
via Issue #106
Feature(s)
None
Update(s)
- corrected
azure_blob_storage
block to referenceazure_blob_storage_http
instead ofazure_blob_storage
forhttp_logs
- added
examples
/logs
Version 0.8.1 - 2024-07-25
Breaking Change(s)
None
Feature(s)
azurerm_app_service_slot_custom_hostname_binding
now supportsazurerm_[windows|linux]_web_app_slot
Previous Logic:
app_service_slot_id = var.os_type == "Windows" ? azurerm_windows_function_app_slot.this[each.value.app_service_slot_key].id : azurerm_linux_function_app_slot.this[each.value.app_service_slot_key].id
Current Logic:
app_service_slot_id = var.kind == "functionapp" ? (var.os_type == "Windows" ? azurerm_windows_function_app_slot.this[each.value.app_service_slot_key].id : azurerm_linux_function_app_slot.this[each.value.app_service_slot_key].id) : (var.os_type == "Windows" ? azurerm_windows_web_app_slot.this[each.value.app_service_slot_key].id : azurerm_linux_web_app_slot.this[each.value.app_service_slot_key].id)
thumbprint
can now reference existing thumbprint value withthumbprint_value
Previous Logic:
thumbprint = azurerm_app_service_certificate.this[each.value.thumbprint_key].thumbprint
Current Logic:
thumbprint = each.value.thumbprint_key != null ? azurerm_app_service_certificate.this[each.value.thumbprint_key].thumbprint : each.value.thumbprint_value
Update(s)
thumbprints
as newoutput
- cleaning
exmples
/cusom_domain
/main.tf
file
Version 0.8.0 - 2024-07-24
Breaking Change(s)
- new mapping for
azurerm_app_service_custom_hostname_binding
will likely affect any configurations with existing custom domains managed by terraform
Feature(s)
- functionality for custom domains for deployment slots using
azurerm_app_service_slot_custom_hostname_binding
resource via Issue #101.
uses
slot_as_target
incustom_domains
as toggle to differentiate betweenazurerm_app_service_custom_hostname_binding
andazurerm_app_service_slot_custom_hostname_binding
azurerm_app_service_certificate
to acceptkey_vault_id
argument via Issue #102
Update(s)
- additional outputs added for:
function_app_active_slot
function_app_deployment_slots
kind
os_type
Version 0.7.3 - 2024-07-17
Breaking Change(s):
None
Feature(s):
- new telemetry
- transition to use of
modtm
provider (view here) - removed
locals.telemetry.tf
- removed
locals.telemetry.tf.json
- transition to use of
Update(s):
- added
examples
/storage_uses_managed_identity
- fixed logic for
storage_uses_managed_identity
forazurerm_(windows | linux)_function_app
via Issue #96
Previous:
storage_uses_managed_identity = var.function_app_storage_uses_managed_identity == true && var.function_app_storage_account_access_key == null && var.function_app_storage_account == null ? var.function_app_storage_uses_managed_identity : null
Current:
storage_uses_managed_identity = var.function_app_storage_uses_managed_identity == true && var.function_app_storage_account_access_key == null ? var.function_app_storage_uses_managed_identity : null
- updated logic for
azurerm_linux_function_app
andazurerm_linux_function_app_slot
to account for created storage account's access key
storage_account_access_key = var.function_app_storage_account_access_key != null && var.function_app_storage_uses_managed_identity != true && var.function_app_create_storage_account != true ? var.function_app_storage_account_access_key : var.function_app_storage_account_access_key == null && var.function_app_storage_uses_managed_identity != true && var.function_app_create_storage_account ? module.avm_res_storage_storageaccount[0].resource.primary_access_key : null
Version 0.7.2 - 2024-07-03
Breaking Change(s)
None
Feature(s)
lock
functionality forfunction_app_storage_account
lock
functionality fordeployment_slots
deployment_slots_inherit_lock
defaults totrue
function_app_storage_account_inherit_lock
defaults totrue
Update(s)
output
for the following:deployment_slot_locks
private_endpoint_locks
resource_lock
storage_account_lock
Version 0.7.1 - 2024-06-25
Breaking Change(s)
None
Feature(s)
- output for
system_assigned_mi_principal_id
via RMFR7 private_endpoints
functionality withdeployment_slots
via Issue #88role_assignments
functionality withdeployment_slots
lock
functionality withfunction_app_storage_account
Update(s)
- added
examples
/deployment_slot
- added
examples
/deployment_slot_with_interfaces
- added
examples
/ip_restriction
via Issue #85
Version 0.7.0 - 2024-06-21
Breaking Change(s)
terraform
required version set to~>1.6
- variable
client_certificate_mode
now defaults toRequired
to matchazurerm
resource provider (previouslyOptional
)
Features
- Deployment Slots via #64
- outputs for
web_app_deployment_slots
andweb_app_active_slot
- outputs for
identity_principal_id
via #84
Update(s)
- added validation for
auto_heal_enabled
- only set
auto_heal_enabled
totrue
if configuringauto_heal_setting
block
- only set
validation {
condition = var.site_config.auto_heal_enabled != null && var.site_config.auto_heal_enabled != true ? contains([true, null], var.site_config.auto_heal_enabled) : true
error_message = "The value of `auto_heal_enabled` can only be set to `true` or `null`."
}
Only set
auto_heal_setting
ifauto_heal_enabled
is set totrue
or configuration will result in provider issue
- added
examples
/auto_heal_enabled
via #77 - added
examples
/slot
- module call for
avm_res_storage_storageaccount
usesenable_telemetry
as toggle - configured conditional output for managed and unmanaged private dns zone groups regarding
azurerm_private_endpoints
(output)
var.private_endpoints_manage_dns_zone_group ? azurerm_private_endpoint.this : azurerm_private_endpoint.this_unmanaged_dns_zone_groups
Version 0.6.3 - 2024-06-12
- addressing module/provider issue where if
auto_heal_enabled
was set totrue
orfalse
, user was still expected to populateauto_heal_setting
via Issue #77terraform
provider requires user to specifyauto_heal_setting
ifauto_heal_enabled
is not set tonull
in configuration.- added conditional that if
auto_heal-enabled
is not set totrue
, resolves tonull
to avoid provider error.
- bug fixes regarding functionality for dynamic
action
inauto_heal_setting
bug:
action_type = auto_heal_setting.value.action_type
minimum_process_execution_time = auto_heal_setting.value.minimum_process_execution_time
solution:
action_type = auto_heal_setting.value.action.action_type
minimum_process_execution_time = auto_heal_setting.value.action.minimum_process_execution_time
Version 0.6.2 - 2024-06-05
- addressing fix for
backup
where argument incorrectly referenced asretention_period_in_days
instead ofretention_in_days
Version 0.6.1 - 2024-06-04
- fixes logic for
ftps_state
affectingftp_publish_basic_authentication_enabled
andwebdeploy_publish_basic_authentication_enabled
forazurerm_windows_function_app
,azurerm_linux_web_app
, andazurerm_windows_web_app
- adds logic for
storage_account_name
concerning linux function app
storage_account_name = var.function_app_create_storage_account ? module.avm_res_storage_storageaccount[0].name : var.function_app_storage_account_name`
- added
example
\basic_auth
for basic authentication
Version 0.6.0 - 2024-06-03
- Module to reference
v0.1.2
ofavm_res_storage_storageaccount
module (source) via Issue #67- added optional argument for
location
forfunction_app_storage_account
variable location
will resolve to the location of the function app if not supplied infunction_app_storage_account
object
- added optional argument for
- addressed logic for
webdeploy_publish_basic_authentication_enabled
that only allowed for configuration ifftps_state
was set to"AllAllowed"
via Issue #71
Initial condition:
webdeploy_publish_basic_authentication_enabled = var.site_config.ftps_state == "AllAllowed" ? var.webdeploy_publish_basic_authentication_enabled : false
Current condition:
webdeploy_publish_basic_authentication_enabled = var.site_config.ftps_state == "Disabled" ? false : var.webdeploy_publish_basic_authentication_enabled
- addressing bug where dynamic
custom_oidc_v2
blocks referenceauthorisation_endpoint
butcustom_oidc_v2
object hadauthorization_endpoint
instead via Issue #66 - addressing bug where optional arguments within
auth_settings_v2
were resolving tonull
instead of empty maps / objects, which caused errors via Issue #69active_directory_v2
apple_v2
azure_static_web_app_v2
custom_oidc_v2
facebook_v2
github_v2
google_v2
twitter_v2
Version 0.5.0 - 2024-05-16
virtual_application
default supported insite_config
forazurerm_windows_web_app
:- This is to address the following issues:
- Issue #52
- Provider Issue where
always_on
is toggled off but provider attempts to add defaultvirtual_application
on plan/apply after initial apply.
- This is to address the following issues:
headers
to typemap(object)
instead ofobject
- Addresses Issue #53
- removal of logic for
"APPLICATIONINSIGHTS_CONNECTION_STRING"
and"APPINSIGHTS_INSTRUMENTATIONKEY"
inapp_settings
forazurerm_(windows|linux)_function_app
- Addresses Issue #55 / Issue #56
- use arguments
application_insights_connection_string
andapplication_insights_key
insite_config
variable as provider will set"APPLICATIONINSIGHTS_CONNECTION_STRING"
and"APPINSIGHTS_INSTRUMENTATIONKEY"
keys inapp_settings
accordingly
Version 0.4.0 - 2024-05-06
- fixing bug where module references to undeclared resource:
ip_restriction
dynamic block that wrongly referencesscm_ip_restriction
instead ofip_restriction
- addresses addition feature capabilities for
new_service_plan
:maximum_elastic_worker_count
per_site_scaling_enabled
worker_count
zone_balancing_enabled
Version 0.3.0 - 2024-04-18
- APRL recommendation:
- Application Insights enabled by default (via
enable_application_insights
)
- Application Insights enabled by default (via
- Linting fixes for interfaces:
managed_identites
:nullable
set tofalse
private_endpoints
:- removed
inherit_lock
argument - removed
inherit_tags
argument nullable
set tofalse
- removed
lock
:kind
is required argumentdefault
set tonull
instead of{}
- removed
None
as valid values forkind
role_assignments
:nullable
set tofalse
tags
:type
set tomap(string)
instead ofmap(any)
default
set tonull
instead of{}
- Deprecated variables/arguments:
inherit_lock
argument inprivate_endpoints
inherit_tags
argument inprivate_endpoints
- New variables:
all_child_resources_inherit_tags
all_child_resources_inherit_lock
private_endpoints_inherit_lock
private_endpoints_manage_dns_zone_group
Version 0.2.1 - 2024-04-02
Addition outputs:
application_insights
service_plan
storage_account
Version 0.2.0 - 2024-03-27
- feat: functionality to deploy web apps
kind
variable to determinefunctionapp
orwebapp
- feat: functionality to create new storage account within module
- feat: functionality to create new service plan within module
- feat: functionality to reference app service environment
Version 0.1.2 - 2024-03-12
- doc fixes
- update
locals.version.tf.json
- update
examples
to reference0.1.2
Version 0.1.1 - 2024-03-12
- doc fixes
- feat: custom domain
- feat: application insights
{
"workingFolder": "packages",
"packages": [
// packages defined earlier
{
"name": "avm-terraform/web-site",
"version": "0.15.0"
}
]
}
This package has no dependencies
Stats
Selected version:
0.15.0
Downloads this version:
0
Downloads all versions:
0
Latest version:
0.18.0
Latest update:
29-07-2025