Search

Please login in for more filter options


Kickstart your project with AVM templates.

compute-virtualmachinescaleset

report
Report Package compute-virtualmachinescaleset

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.

Please let us know what this package contains.
Please enter a valid email address.

This Terraform Azure Verified Module deploys: terraform-azurerm-avm-res-compute-virtualmachinescaleset

ipm add --package avm-terraform/compute-virtualmachinescaleset --version 0.10.1 

Published: 03-09-2026

Project URL: https://ipmhub.io/avm-terraform

Package Type: Terraform

License: MIT


No readme file uploaded for this version

Release History

Version 0.10.1 - 2026-09-01

🐛 Bug Fixes

constrainedMaximumCapacity is no longer sent unless it is true (#225, #226)

Applies against an existing scale set could fail with:

RESPONSE 400: 400 Bad Request
ERROR CODE: InvalidParameter
{ "error": { "code": "InvalidParameter",
  "message": "Parameter 'constrainedMaximumCapacity' is not allowed.",
  "target": "constrainedMaximumCapacity" } }

The module read constrainedMaximumCapacity back from the deployed scale set and echoed it straight into the request body. The ARM contract for this property is "Optional property which must either be set to True or omitted", so once a scale set existed and reported false, every subsequent apply sent an illegal false and Azure rejected it.

Typical symptom: the first apply succeeds and creates the scale set, then every apply after that fails. Initial creates were never affected.

The property is now sent only when the deployed scale set already has it enabled, so an out-of-band opt-in is still preserved. Every other case is omitted from the request entirely.

This also fixes a latent failure where a read response that omitted the property aborted the plan with Unsupported attribute instead of falling back to a default.

⬆️ Upgrading

No configuration changes are required. constrainedMaximumCapacity is not a module input — the fix is entirely internal to the module. Bump the version and re-apply:

 module "avm-res-compute-virtualmachinescaleset" {
   source  = "packages/compute-virtualmachinescaleset"
-  version = "0.10.0"
+  version = "0.10.1"
 }

Then run terraform init -upgrade.

What's Changed

Full Changelog: https://github.com/Azure/terraform-azurerm-avm-res-compute-virtualmachinescaleset/compare/v0.10.0...v0.10.1

Version 0.10.0 - 2026-08-13

[!WARNING] This release contains breaking changes. Please read the migration guidance below before upgrading.

⚠️ Breaking Changes

1. public_ip_address.sku_name no longer accepts the combined <name>_<tier> format (#219)

The combined format inherited from the legacy azurerm provider (for example Standard_Regional) is no longer valid. The SKU name and tier are now specified separately, which also unlocks the new StandardV2 SKU.

 network_interface = [{
   name = "nic"
   ip_configuration = [{
     name = "ipconfig"
     public_ip_address = [{
       name     = "pip"
-      sku_name = "Standard_Regional"
+      sku_name = "Standard"
+      sku_tier = "Regional"
     }]
   }]
 }]
  • sku_name now accepts Basic, Standard or StandardV2.
  • sku_tier accepts Regional or Global.
  • Configurations still using the old format now fail at plan time with an explanatory validation error.
  • StandardV2 additionally requires network_api_version to be 2023-06-01 or later.

[!NOTE] This value stopped working in v0.9.0, not in this release. The AzAPI migration in v0.9.0 began passing sku_name through to ARM verbatim, so a combined value such as Standard_Regional was rejected by the Azure API at apply time. v0.10.0 turns that into a plan-time validation error and adds sku_tier as the supported replacement.

  • Upgrading from v0.9.0: you are only affected if these deployments were already failing. The error now arrives at plan time and names the fix.
  • Upgrading from v0.8.0 or earlier: this is a genuine breaking change for you, because the combined format was valid while the module used the azurerm provider.

2. Orchestrated VMSS now rejects system-assigned managed identities (#158)

Orchestrated Virtual Machine Scale Sets do not support system-assigned managed identities. Previously this was silently accepted and failed at the API; it is now caught by a precondition.

 managed_identities = {
-  system_assigned            = true
   user_assigned_resource_ids = [azurerm_user_assigned_identity.this.id]
 }

If you were setting system_assigned = true, switch to a user-assigned identity.

3. The sku_selector submodule no longer requires the azurerm provider (#210)

modules/sku_selector now resolves subscription context via azapi_client_config instead of the azurerm provider. If you call this submodule directly and pass an explicit providers block, remove the azurerm entry:

 module "sku_selector" {
   source = ".../modules/sku_selector"
   providers = {
     azapi = azapi
-    azurerm = azurerm
   }
 }

Consumers of the root module are unaffected.

✨ New Features

  • Hibernation support (#207) — new additional_capabilities.hibernation_enabled flag, with validation preventing use alongside an ephemeral OS disk.
  • Metadata Security Protocol (MSP) (#216) — new proxy_agent_settings variable to restrict in-guest access to IMDS and WireServer, supporting Audit/Enforce/Disabled modes and InVMAccessControlProfile references.
  • Public IP StandardV2 SKU and sku_tier (#219) — see the breaking change above.
  • Relaxed network_api_version validation (#219) — now accepts any YYYY-MM-DD Microsoft.Network API version (optionally -preview) instead of a fixed allow-list.

🐛 Bug Fixes

  • Extensions are now provisioned when protected settings are set (#201).
  • existing_vmss drift detection no longer forces VMSS replacement (#208).
  • Flaky sku_selector failures when a region has no matching SKU are prevented (#202).

What's Changed

Full Changelog: https://github.com/Azure/terraform-azurerm-avm-res-compute-virtualmachinescaleset/compare/v0.9.0...v0.10.0

Version 0.8.0 - 2025-08-01

  • Added support for RHEL BYOL. See #137
  • Underlying azurerm issue is limiting the provider version to < 4.37. See #30274

Version 0.7.0 - 2025-02-24

What's Changed

New Contributors

Full Changelog: https://github.com/Azure/terraform-azurerm-avm-res-compute-virtualmachinescaleset/compare/v0.6.0...v0.6.1

Full Changelog: https://github.com/Azure/terraform-azurerm-avm-res-compute-virtualmachinescaleset/compare/v0.6.1...v0.7.0

Full Changelog: https://github.com/Azure/terraform-azurerm-avm-res-compute-virtualmachinescaleset/compare/v0.6.1...v0.7.0

Version 0.6.0 - 2025-01-09

  • Set AzAPI to version >=2.0.1, ~>2.2.0
  • remove jsonencode

Version 0.5.3 - 2024-12-30

What's Changed

New Contributors

Full Changelog: https://github.com/Azure/terraform-azurerm-avm-res-compute-virtualmachinescaleset/compare/v0.5.2...v0.5.3

Version 0.5.2 - 2024-11-28

What's Changed

New Contributors

Full Changelog: https://github.com/Azure/terraform-azurerm-avm-res-compute-virtualmachinescaleset/compare/v0.5.1...v0.5.2

Version 0.5.1 - 2024-11-19

What's Changed

New Contributors

Full Changelog: https://github.com/Azure/terraform-azurerm-avm-res-compute-virtualmachinescaleset/compare/v0.4.0...v0.5.1

Version 0.4.0 - 2024-10-25

  • Breaking changes. Variable admin_ssh_keys changed from list to set
  • All null passwords for linux deploys

Version 0.5.0 - 2024-10-25

Interface changes:

  • disk_size_gb (optional)
  • lun (optional)

Version 0.3.0 - 2024-09-20

  • Includes breaking changes
  • PG review changes
  • Restructured examples
  • Fixed health monitoring in examples

Version 0.2.0 - 2024-04-26

No release notes were published in the GitHub Release for this version.

Version 0.1.2 - 2024-03-21

Fix version and documentation.

Version 0.1.1 - 2024-02-05

No release notes were published in the GitHub Release for this version.

 
 {
  "workingFolder": "packages",
  "packages": [
    // packages defined earlier
    {
      "name": "avm-terraform/compute-virtualmachinescaleset",
      "version": "0.10.1"
    }
  ]
}

This package has no dependencies

Stats

Selected version:

0.10.1

Downloads this version:

0

Downloads all versions:

0

Latest version:

0.10.1

Latest update:

03-09-2026

avm-terraform

Other versions (14)

0.10.1

0.10.0

0.8.0

0.7.0

0.6.0

0.5.3

0.5.2

0.5.1

0.5.0

0.4.0

Ready to End Infrastructure Code Chaos?

Join infrastructure teams who've moved from scattered repositories to unified package management

Built by infrastructure experts
Who understand your challenges
Complete solutions
No scattered files
See what's deployed where
When it needs updates
Zero vendor lock-in
Packages work without us
No setup fees or contracts Free migration assistance Cancel anytime with no penalties
Direct founder access Zero security incidents in 2+ years Works with any cloud, any CI/CD platform