I have created main.tf file as below for Mongodb terraform module.

resource "mongodbatlas_teams" "test" { org_id = null name = "MVPAdmin_Team" usernames = ["", "", ""] } resource "mongodbatlas_project" "test" { name = "MVP_Project" org_id = null teams { team_id = null role_names = ["GROUP_CLUSTER_MANAGER"] } } resource "mongodbatlas_project_ip_access_list" "test" { project_id = null ip_address = null comment = "IP address for MVP Dev cluster testing" } resource "mongodbatlas_cluster" "test" { name = "MVP_DevCluster" location = azurerm_resource_group.example.location resource_group_name = azurerm_resource_group.example.name cluster_type = REPLICASET state_name = var.state_name replication specs { num_shards= var.num_shards region_config { region_name = "AU-EA" electable_nodes = var.electable_nodes priority = var.priority read_only_nodes = var.read_only_nodes } } provider_backup_enabled = var.provider_backup_enabled auto_scaling_disk_gb_enabled = var.auto_scaling_disk_gb_enabled mongo_db_major_version = var.mongo_db_major_version provider_name = "Azure" provider_disk_type_name = var.provider_disk_type_name provider_instance_size_name = var.provider_instance_size_name mongodbatlas_database_user { username = var.username password = var.password auth_database_name = var.auth_database_name role_name = var.role_name database_name = var.database_name } mongodbatlas_database_snapshot_backup_policy { policy_item = var.policy_item frequency_type = var.frequency_type retention_value = var.retention_value } advanced_configuration { minimum_enabled_tls_protocol = var.minimum_enabled_tls_protocol no_table_scan = var.no_table_scan connection_string = var.connection_string } } 

However, terraform init reports as below:

$ terraform init Initializing the backend... Initializing provider plugins... - Finding latest version of hashicorp/mongodbatlas... Error: Failed to query available provider packages Could not retrieve the list of available versions for provider hashicorp/mongodbatlas: provider registry registry.terraform.io does not have a provider named If you have just upgraded directly from Terraform v0.12 to Terraform v0.14 then please upgrade to Terraform v0.13 first and follow the upgrade guide for that release, which might help you address this problem. Did you intend to use mongodb/mongodbatlas? If so, you must specify that source address in each module which requires that provider. To see which modules are currently depending on hashicorp/mongodbatlas, run the following command: terraform providers 

Any idea as to what is going wrong?

1

1 Answer

The error message explains the most likely reason for seeing this error message: you've upgraded directly from Terraform v0.12 to Terraform v0.14 without running through the Terraform v0.13 upgrade steps.

If you upgrade to Terraform v0.13 first and follow those instructions then the upgrade tool should be able to give more specific instructions on what to change here, and may even be able to automatically upgrade your configuration for you.

However, if you wish then you can alternatively manually add the configuration block that the v0.13 upgrade tool would've inserted, to specify that you intend to use the mongodb/mongodbatlas provider as "mongodbatlas" in this module:

terraform { required_providers { mongodbatlas = { source = "mongogdb/mongodbatlas" } } } 

There are some other considerations in the v0.13 upgrade guide that the above doesn't address, so you may still need to perform steps described in that upgrade guide if you see different error messages after trying what I showed above.

2

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy