AzureStatic-verified

A Free Certificate That Still Renews Next Year

A free App Service managed certificate for a custom subdomain, with its hostname binding, the SNI binding that puts it to use, and optionally the DNS records. Microsoft blocks issuance and renewal when the CNAME passes through anything before the app, so the module writes the direct record and refuses the wildcards, apex names and long hostnames the product does not support.

terraformAzureazure

Compare Managed TLS Certificates across clouds →

azure-managed-certificatevizier v1.2.0

Verification

Static-verified

Passed: validated and lint-clean (provider-schema-validated for AWS/Azure/GCP; Terraform-language lint elsewhere).

Conformance

  • Static validation (fmt · validate · tflint)
  • No applicable security policies for this provider
  • Plan tests (mocked: validation rules · outputs)

Provenance

  • SHA-256 checksum
  • Signature (pending)

Functional

  • Live test pending (no cloud run yet)

Last verified 2026-09-16 · how we verify

Use it from the registry

terraform · opentofu
module "managed_certificate" {
  source  = "www.iac-bazaar.com/iac-bazaar/azure-managed-certificate/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.

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-managed-certificate

A free managed TLS certificate on Azure App Service. Works with Terraform and OpenTofu (>= 1.6), azurerm provider >= 4.0, < 5.0.

The CNAME must point straight at the app. Microsoft documents that an intermediate CNAME blocks issuance and renewal, so a CDN or alias in the chain can work on day one and fail at the next renewal. With dns_zone the module writes the direct record; otherwise cname_record says exactly what to create.

A certificate that exists is not serving. The certificate and its binding are separate resources; the module always creates the SNI binding.

It renews itself while Microsoft's conditions hold: no wildcard, no private DNS, no App Service Environment, not exportable, hostnames up to 64 characters. The module refuses the ones it can see.

Apex domains are not handled here. A root domain needs an A record and an app reachable from the internet with no IP restrictions; this module covers subdomains only.

Verification

Static validation runs tofu fmt, init, validate, tflint and checkov. This module has not yet had a live test, so it is published as statically validated with its live test pending and does not carry the live-tested mark.

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

Related modules

Live-tested

azure-key-vault

RBAC-mode Key Vault with private endpoint, diagnostics, and managed keys/secrets/certificates scaffolding.

View module
Static validatedLive test pending

huawei-tls-certificate

A public TLS certificate bought through Huawei CCM, and its application. Applying is a purchase, so brand, type and validity have no defaults and every combination rule is checked at plan. It does not renew itself. The provider accepts Huawei's privacy terms on every application, so the module waits for a person to. Validation records appear one refresh after the first apply.

View module
Static validatedLive test pending

alicloud-ssl-certificate

A certificate uploaded into Certificate Management Service for SLB, ALB, CDN and API Gateway to reference. The private key is an argument, so it lands in the Terraform state and the README says so plainly. SM2 is a signing pair plus an encryption pair and the module refuses a half-filled set, which would upload something no client can handshake with.

View module
Static validatedLive test pending

tencent-ssl-certificate

A free domain-validated certificate from Tencent Cloud SSL. DNS_AUTO writes the record for you and silently only works when the domain is on DNSPod, so the module refuses it unless you confirm that. The issued private key is a computed attribute and therefore in state, and the resource finishes before the certificate is issued, so read the status output.

View module
Static validatedLive test pending

ibm-public-certificate

A publicly-trusted certificate issued into Secrets Manager, validated over DNS through Cloud Internet Services, with both configurations created here rather than left to a console. Staging issues a certificate no browser trusts while looking like success, so it is refused by name; auto-rotation and key rotation are on, because a ninety-day certificate nothing renews is a dated outage.

View module
Live-tested

aws-acm

Requests a public, DNS-validated ACM TLS certificate that ACM auto-renews forever, outputting the validation records to publish - CT logging on, wildcards and SANs supported.

View module