Skip to main content

wildcard-constraint

Codewildcard-constraint
Severitywarning
CategoryBest Practice

What it means

A module or provider uses * as its version constraint, which matches any version.

Why it matters

A wildcard constraint accepts every version, including future major releases with breaking changes. It provides zero protection against incompatible upgrades and makes it impossible to reproduce a specific infrastructure state.

Example

This HCL triggers the finding:

module "vpc" {
source = "terraform-aws-modules/vpc/aws"
version = "*"
}

MonPhare output:

WARNING [wildcard-constraint] 'vpc' uses wildcard version constraint
--> main.tf:1
Suggestion: Replace with a specific constraint like '~> 1.0'

How to fix

Replace the wildcard with a meaningful constraint:

module "vpc" {
source = "terraform-aws-modules/vpc/aws"
version = "~> 5.0"
}