Pr/module optional defaults#6
Conversation
Variables with nullable:true but no default are treated as required by Terraform, forcing callers to explicitly pass null. This adds default:null (or default:[] for list types in dynamic blocks) to 39 optional variables. Also adds missing resource_group_name/location variable declarations to azurerm_app_service_certificate and azurerm_cdn_frontdoor_profile. Modules fixed: - azurerm_mssql_database (14 fields) - azurerm_service_plan (1 field) - azurerm_app_service_certificate (7 fields + 2 missing vars) - azurerm_app_configuration (6 fields) - azurerm_linux_web_app (3 fields) - azurerm_cdn_frontdoor_profile (3 fields + 1 missing var) - azurerm_key_vault (1 field) - azurerm_cosmosdb_account (4 fields)
Add "default": null to 150 optional variables across 9 AWS modules that were missing defaults. Without a default, Terraform treats them as required even when nullable=true, causing false-positive 'missing field' errors in StackGen provisioning. Modules fixed: - aws_launch_template (31 fields) - aws_instance (40 fields) - aws_db_instance (53 fields) - aws_iam_role (7 fields) - aws_iam_user (2 fields) - aws_security_group (3 fields) - aws_db_parameter_group (6 fields) - aws_db_subnet_group (3 fields) - aws_ec2_transit_gateway (5 fields) Cross-referenced against official Terraform AWS provider docs to confirm all 150 fields are Optional. 4 Required fields (allocated_storage, engine, username on db_instance; subnet_ids on db_subnet_group) were correctly excluded.
🤖 Terraform Module Manager — Register & Notify
✅ Change Classification: NON-BREAKING BUG FIXThis PR adds No breaking changes — no variable removals, type changes, or structural modifications. 📦 Affected Modules (17 files, 189 variables fixed)AWS Modules (9 modules, 150 variables fixed)
AzureRM Modules (8 modules, 39 variables fixed + 3 missing declarations added)
🚀 StackGen RegistrationAfter this PR is merged, run the following command to register the updated modules with StackGen: # Ensure STACKGEN_TOKEN is set before running
export STACKGEN_TOKEN=<your-token>
# Run the upload script from the repo root
bash tools/upload_stackgen_modules.sh
🟢 Merge RecommendationThis PR is ready for merge. The changes are:
Recommended action: Approve and merge. Then run Posted by 🤖 Terraform Module Manager (register-and-notify stage) |
|
✅ Summary of changes: Optional defaults added to Azure modules\n📋 Updated modules: azurerm_app_configuration, azurerm_app_service_certificate, azurerm_cdn_frontdoor_profile, azurerm_cosmosdb_account, azurerm_key_vault, azurerm_linux_web_app, azurerm_mssql_database, azurerm_service_plan\n🔄 Change classification: NON-BREAKING\n📦 Registration status: Registration command ready but requires StackGen API credentials\n🏷️ Version: 1.0.0 (no version bump needed)\n✔️ Compliance: Change is compliant — no impact on existing deployments\n🚀 Next steps: PR is approved and mergeable — ready to merge. |
🤖 Terraform Module Manager — Register & Notify ✅
📦 Module Registration
🔒 Compliance Status
🧪 Validation & Test Summary
📋 Affected ModulesAWS (9 modules, 150 variables fixed)
AzureRM (8 modules, 39 variables fixed + 3 declarations added)
🚀 Next Steps
Posted by 🤖 Terraform Module Manager (register-and-notify stage) — 2026-05-11 |
added default value fields to subset of azure modules