#terraform #terraform-provider-azure
Вопрос:
Я создал main.tf файл, как показано ниже, для модуля terraform Mongodb.
resource "mongodbatlas_teams" "test" {
org_id = null
name = "MVPAdmin_Team"
usernames = ["user1@email.com", "user2@email.com", "user3@email.com"]
}
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
}
}
Тем не менее, terraform init сообщает, как показано ниже:
$ 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 registry.terraform.io/hashicorp/mongodbatlas
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
Есть какие-нибудь идеи относительно того, что происходит не так?
Комментарии:
1. Вы недавно перешли с одной версии Terraform на более новую? Попробуйте добавить что-то подобное в свой tf-файл(ы): registry.terraform.io/providers/mongodb/mongodbatlas/latest/…
Ответ №1:
В сообщении об ошибке объясняется наиболее вероятная причина появления этого сообщения об ошибке: вы выполнили обновление непосредственно с Terraform v0.12 до Terraform v0.14 без выполнения шагов обновления Terraform v0.13.
Если вы сначала обновитесь до Terraform v0.13 и выполните эти инструкции, то средство обновления сможет дать более конкретные инструкции о том, что здесь нужно изменить, и, возможно, даже сможет автоматически обновить вашу конфигурацию для вас.
Однако, если вы хотите, вы также можете вручную добавить блок конфигурации, который вставил бы инструмент обновления версии 0.13, чтобы указать, что вы собираетесь использовать mongodb/mongodbatlas
поставщика как «mongodbatlas» в этом модуле:
terraform {
required_providers {
mongodbatlas = {
source = "mongogdb/mongodbatlas"
}
}
}
В руководстве по обновлению версии 0.13 есть некоторые другие соображения, которые не рассматриваются выше, поэтому вам все равно может потребоваться выполнить действия, описанные в этом руководстве по обновлению, если вы увидите другие сообщения об ошибках после выполнения того, что я показал выше.
Комментарии:
1. Извиняюсь, приятель, но я не менял версию TF. Я, конечно, попробую ваше предложение. Большое спасибо!
2. Спасибо за помощь! Просто дружеское уведомление: у вас есть опечатка в monogdb/mongodbatlas, она должна быть: source = «mongodb/mongodbatlas»