Missing version constraint for provider "google" in "required_providers"
41 default = "us-west1-b"
42}
43
44resource "google_compute_instance" "gcp" {45 name = "${var.instance_name}"
46 machine_type = "${var.machine_type}"
47 zone = "${var.gcp_zone}"
Missing version constraint for provider "aws" in "required_providers"
56 parameter_group_name = "default.mysql5.6"
57}
58
59resource "aws_route" "no-route-target" {60 route_table_id = "rtb-1234abcd"
61}
62
Missing version constraint for provider "aws_central" in "required_providers"
6 region = "${var.aws_region}"
7}
8
9provider "aws_central" {10 alias = "central"
11 region = "us-east-1"
12}
Description
All providers should have version constraints through required_providers
.
Providers are plugins released on a separate rhythm from Terraform itself, and so they have their own version numbers.
For production use, you should constrain the acceptable provider versions via configuration, to ensure that new versions with breaking changes will not be automatically installed by terraform init
in future.
Example:
provider "template" {}
provider "template" {
version = "2"
}
To fix this:
Add the required_providers
block to the terraform
configuration block and include current versions for all providers. For example:
terraform {
required_providers {
template = "~> 2.0"
}
}
Provider version constraints can be specified using a version argument within a provider block for backwards compatibility. This approach is now discouraged, particularly for child modules.