AzureLive-testedattested

Azure Linux VM Scale Set (Uniform)

A self-contained Linux VM Scale Set (Uniform orchestration) on Azure - one apply creates the resource group, VNet, subnet, NSG and an SSH-key-only scale set with deny-all-inbound and no public IPs.

terraformAzureazure

Compare Virtual Machines across clouds →

azure-vmssvizier v1.2.0

Verification

Live-tested

Really deployed to a cloud sandbox, verified against its outputs and assertions, then destroyed - with the teardown confirmed.

Conformance

  • Static validation (fmt · validate · tflint)
  • Security scan clean (Checkov)
  • Plan test superseded by live test

Provenance

Functional

  • Live-tested - applied, verified, destroyed

Last verified 2026-06-30 · how we verify

Verify this download

cosign · sha-256

Don't take our word for it. Every release is signed with cosign - check the bytes against our pinned public key before you trust them.

# 1. Our pinned public key - fetch once, trust out-of-band
curl -O https://www.iac-bazaar.com/cosign.pub

# 2. This module's Sigstore bundle
curl -o azure-vmss-1.0.0.sigstore.json \
  https://www.iac-bazaar.com/api/artifacts/azure-vmss/signature

# 3. Verify the tarball you downloaded
cosign verify-blob \
  --key cosign.pub \
  --bundle azure-vmss-1.0.0.sigstore.json \
  azure-vmss-1.0.0.tar.gz
# → Verified OK

# 4. (optional) confirm the checksum too
echo "9aa6f008f74f2db24e9d1ff24ee40e453cb3b0af6beb8cfe40bd176bbb905f3b  azure-vmss-1.0.0.tar.gz" | sha256sum -c

Use it from the registry

terraform · opentofu
module "vmss" {
  source  = "www.iac-bazaar.com/iac-bazaar/azure-vmss/azure"
  version = "1.0.0"
}

Needs a registry token from /account/tokens. The module itself is free; the account is what identifies you. Full setup: registry docs.

Cite it in your README

badge · attribution

Paste this beside the module in the repository that uses it. The badge is rendered from this artifact's verification record, so it reads live-tested because the record says so, and the link lands on this page.

README.md, GitLab, Gitea
[![IaC Bazaar: live-tested](https://www.iac-bazaar.com/api/artifacts/azure-vmss/badge)](https://www.iac-bazaar.com/catalog/azure-vmss?utm_source=syndication&utm_medium=readme&utm_campaign=artifact)

Terraform module 1.0.0, live-tested on IaC Bazaar: [Azure Linux VM Scale Set (Uniform)](https://www.iac-bazaar.com/catalog/azure-vmss?utm_source=syndication&utm_medium=readme&utm_campaign=artifact)

```hcl
module "vmss" {
  source  = "www.iac-bazaar.com/iac-bazaar/azure-vmss/azure"
  version = "1.0.0"
}
```

Preview:IaC Bazaar: live-tested

Inputs & outputs

Create a free account to read this module's contract

The declared contract - every input name, type, default and description, plus every output - is shown to signed-in accounts, not to anonymous visitors.

A free account sees the contract of every module in the catalogue. There is no subscription and nothing to buy - the modules are free to download, and they run under Vizier.

Documentation

azure-vmss

A Linux Virtual Machine Scale Set (Uniform orchestration) on Azure, fully self-contained by default. One tofu apply creates everything — resource group, virtual network, subnet, NSG and the scale set — and tofu destroy removes all of it (including the resource group). Point subnet_id at an existing subnet to instead consume your own network. Works with Terraform and OpenTofu (>= 1.6), azurerm provider >= 4.0, < 5.0.

What it provisions

  • azurerm_resource_group (created and destroyed by this module)
  • azurerm_virtual_network + azurerm_subnet (self-contained mode only)
  • azurerm_network_security_group + subnet association — deny-all inbound by default; SSH (22) opened only from allowed_ssh_cidr when set (self-contained mode only)
  • azurerm_linux_virtual_machine_scale_set — SSH-key-only, system-assigned managed identity, no public IPs, overprovision = false, managed boot diagnostics

Secure defaults

  • SSH-key auth only — disable_password_authentication = true; a valid admin_ssh_public_key is required.
  • No public IPs on instances — they are private behind the VNet (reach them via a bastion, VPN or peering).
  • Deny-all inbound NSG by default — SSH is opened only when you set allowed_ssh_cidr, and only from that CIDR.
  • System-assigned managed identity for least-privilege role grants.
  • OS disks encrypted at rest with platform-managed keys (always on in Azure); optional encryption-at-host and Trusted Launch (Secure Boot + vTPM).
  • overprovision = false — the running instance count stays exactly equal to instances (predictable cost and quota; no transient extra VMs).

License

Commercial — LicenseRef-IaCBazaar-Commercial

Usage code & full reference need an account

The complete copy-paste usage, the full input/output reference, and operational notes are free with an account - shown here and bundled in the download. Sign in and this section fills in.

  • Usage
  • Inputs
  • Outputs
  • Requirements & notes

Related modules

Static validatedLive test pending

azure-update-manager

A maintenance configuration is a schedule and a filter; a machine follows it only through an assignment, and one with no assignment appears scheduled and touches no host. reboot Never installs the kernel and runs the old one; a VM on image-default patching is assigned and skipped. Machines or a dynamic scope come with it; IfRequired reboots; the patch mode every VM needs is an output.

View module
Live-tested

azure-virtual-machine

A fully self-contained general-purpose Linux VM on Azure - one apply creates the resource group, VNet, subnet, NSG, NIC, optional public IP and an SSH-key-only VM with a system-assigned identity.

View module
Static validatedLive test pending

azure-image-gallery

Community sharing publishes every image version to every Azure customer, unauthenticated, with your publisher email attached; trusted launch supported means a VM may boot without Secure Boot, and an image with no end-of-life date is a 2021 build still being deployed. Private by default, trusted launch required on every definition, an end-of-life date on each, and Hyper-V generation 2 throughout.

View module
Static validatedLive test pending

tencent-cvm-instance

A CVM instance in your subnet with login by key pair and no password, ordered security groups, no public address (one by name), the system disk encrypted with your KMS key (the service key by name), the Cloud Workload Protection and Cloud Monitor agents left on, a CAM role when you name one, and API termination refused. Pay-as-you-go by the hour.

View module
Static validatedLive test pending

aws-lightsail-instance

A Lightsail instance is created with 22 and 80 open to every address; its public address changes when it stops unless a static IP is attached, and every DNS record pointing at it is then wrong; and automatic snapshots are off. The port list replaced by your rules with SSH from anywhere accepted by name, a static IP attached, and the daily AutoSnapshot add-on on at the hour you choose.

View module
Static validatedLive test pending

scaleway-instance

A Scaleway instance on a Private Network with a required security group (the project default allows everything inbound), no public address unless a flexible IP is accepted by name, the project's SSH keys and no password, a Block Storage root volume deleted with the instance, cloud-init, and protection from deletion (off by name).

View module