Verification
Live-testedReally 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
- SHA-256 checksum
- Cosign signature
Functional
- Live-tested - applied, verified, destroyed
Last verified 2026-06-30 · how we verify
Verify this download
cosign · sha-256Don'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-virtual-machine-1.0.0.sigstore.json \
https://www.iac-bazaar.com/api/artifacts/azure-virtual-machine/signature
# 3. Verify the tarball you downloaded
cosign verify-blob \
--key cosign.pub \
--bundle azure-virtual-machine-1.0.0.sigstore.json \
azure-virtual-machine-1.0.0.tar.gz
# → Verified OK
# 4. (optional) confirm the checksum too
echo "7838a5b9f8b53b0dfc9badeef6ed9c41fa2ab147b0584e8267c8f196b1ccab7a azure-virtual-machine-1.0.0.tar.gz" | sha256sum -cUse it from the registry
terraform · opentofumodule "virtual_machine" {
source = "www.iac-bazaar.com/iac-bazaar/azure-virtual-machine/azure"
version = "1.0.0"
}Paid module — needs a purchase (or a subscription that covers it) plus a registry token from /account/tokens. Full setup: registry docs.
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 Free module. This one is Basic, so its contract unlocks when you buy it.
Documentation
azure-virtual-machine
Status: static-validated, live-test pending. Ships under live-test quarantine until promoted by the Azure live lane. Schema is validated against the azurerm v4 provider docs.
A fully self-contained general-purpose Linux VM on Azure. One
tofu apply creates everything — resource group, virtual network, subnet, NSG,
NIC, an optional public IP and the VM — and tofu destroy removes all of it
(including the resource group). Bring your own bootstrap via custom_data, or
deploy a plain VM and configure it later. 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_subnetazurerm_network_security_group— SSH (ssh_port) allowed only fromallowed_source_cidr, plus an explicit DenyAllInbound; associated at both the subnet and the NIC (defense-in-depth)azurerm_network_interface(+ NSG association)- optional
azurerm_public_ip(Standard, static;create_public_ip) azurerm_linux_virtual_machine(SSH-key-only, system-assigned identity, optional cloud-init bootstrap)
Secure defaults
- SSH-key auth only —
disable_password_authentication = true; a validadmin_ssh_public_keyis required. - No open ingress by default —
allowed_source_cidris required (no default) and gates SSH; a catch-all rule denies everything else inbound. - System-assigned managed identity for least-privilege role grants, consumed
by workloads on the VM via the Azure Instance Metadata Service (IMDS) at
169.254.169.254(which requires theMetadata: truerequest header). - OS disk encrypted at rest with platform-managed keys (always on in Azure);
optional host-based encryption via
encryption_at_host_enabled. - Optional Trusted Launch (Secure Boot + vTPM) for capable VM sizes
(
secure_boot_enabled/vtpm_enabled, off by default so the cheapest B1s size always applies).
License
Commercial — LicenseRef-IaCBazaar-Commercial
Usage code & full reference unlock after purchase
The complete copy-paste usage, the full input/output reference, and operational notes ship with your licence - shown here and bundled in the download.
- Usage
- Inputs
- Outputs
- Requirements & notes