gen-application-gateway
Latest: v1.2.0
Category
Networking
Total Versions
3
Last Updated
6/22/2026
Release History
v1.2.0 Latest
Changes:
- • New Features
- • Private Application Gateway support
- • The module can now deploy a fully private Application Gateway without a public IP.
- • New variables:
- • - `application_gateway_private` (bool, default: false) — When true, adds a private frontend IP configuration using a static IP on the Application Gateway subnet.
- • - `application_gateway_private_ip` (string, default: null) — Static private IP address to assign. Required when `application_gateway_private = true`.
- • - `application_gateway_public_ip_enabled` (bool, default: true) — Controls whether a public IP is created and attached. Set to false for a private-only deployment. Requires `application_gateway_private = true` when set to false.
- • HTTP and TCP listeners automatically resolve the correct frontend IP configuration name (appGatewayFrontendPrivateIP vs appGatewayFrontendPublicIP) based on the `application_gateway_private` flag, unless explicitly overridden via `frontend_ip_configuration_name`.
- • L4 TCP/TLS traffic routing
- • The module now supports Layer 4 TCP and TLS traffic routing in addition to the existing HTTP/HTTPS (Layer 7) routing. This maps to the `listener`, `backend`, and `routing_rule` blocks in the AzureRM provider.
- • New optional variables (all default to []):
- • - `application_gateway_listeners` — L4 TCP/TLS listener definitions. Use protocol = "Tcp" or protocol = "Tls". Note: host_names cannot be set when protocol is Tcp; ssl_certificate_name is required when protocol is Tls.
- • - `application_gateway_backend_settings` — L4 backend settings. Supports client IP preservation, custom timeouts, and trusted root certificates.
- • - `application_gateway_l4_routing_rules` — L4 routing rules that link a listener to a backend pool and backend settings. priority is mandatory.
- • Example — TCP passthrough on port 8443:
- • application_gateway_frontend_port_settings = [
- • { name = "frontend-tcp-8443", port = 8443 }
- • application_gateway_listeners = [
- • name = "myapp-tcp-listener"
- • frontend_port_name = "frontend-tcp-8443"
- • protocol = "Tcp"
- • application_gateway_backend_settings = [
- • name = "myapp-tcp-backend-settings"
- • port = 8443
- • timeout_in_seconds = 30
- • application_gateway_l4_routing_rules = [
- • name = "myapp-tcp-routing"
- • listener_name = "myapp-tcp-listener"
- • backend_address_pool_name = "myapp-backend-pool"
- • backend_name = "myapp-tcp-backend-settings"
- • priority = 100
- • Upgrade notes
- • - No breaking changes to existing HTTP/HTTPS configurations. All new variables are optional with safe defaults.
- • - The `azurerm_public_ip` resource is now conditional on `application_gateway_public_ip_enabled`. Existing deployments default this to true, so no state drift is expected.
- • Merged PR 19429: Update application gateway
v1.1.1
Changes:
- • Added the ACT - Nightly build trigger as a pipeline resource trigger. Pipeline will then only run the test stage every night. Removed src trigger
- • Merged PR 17095: Update pull request template and add nightly build trigger to YAML configuration
v1.1.0
Changes:
- • Added variable group
- • Changed releasenote branch to main
- • Changed PR template without skip
- • Added IPMhub publish
- • Merged PR 12201: Add header comment for managed identity resource in identity.tf
- • Updated pipeline and pull request template to work with the simacsupport releasenote website.
- • Update tflint to latest version.