MongoDB 地图集提供者 - Terraform

MongoDB Atlas Provider - Terraform

我无法在 Terraform (>= 0.13) 中使用 MongoDB Atlas 提供程序(版本 >= 0.9.1)

如何设置以下 2 个属性。进行了大量 google 搜索但没有成功

根据此处的文档: https://registry.terraform.io/providers/mongodb/mongodbatlas/latest/docs/resources/cluster

我想设置以下 2 个属性:

providerSettings.autoScaling.compute.maxInstanceSize
providerSettings.autoScaling.compute.minInstanceSize

我没有试过上面的键,因为它有。在里面

尝试了以下但没有成功

  providerAutoScalingComputeMaxInstanceSize = "M20"
  providerAutoScalingComputeMinInstanceSize = "M10"
  provider_autoScaling_compute_maxInstanceSize = "M20"
  provider_autoScaling_compute_minInstanceSize = "M10"

关于地形规划。我看到错误:


Error: Unsupported argument

  on .terraform/modules/mongodb_test_b/main.tf line 10, in resource "mongodbatlas_cluster" "mongodbatlas_cluster":
  10:   providerAutoScalingComputeMaxInstanceSize = var.providerAutoScalingComputeMaxInstanceSize

An argument named "providerAutoScalingComputeMaxInstanceSize" is not expected
here.


Error: Unsupported argument

  on .terraform/modules/mongodb_test_b/main.tf line 12, in resource "mongodbatlas_cluster" "mongodbatlas_cluster":
  12:   providerAutoScalingComputeMinInstanceSize = var.providerAutoScalingComputeMinInstanceSize

An argument named "providerAutoScalingComputeMinInstanceSize" is not expected
here.


代码片段

resource "mongodbatlas_cluster" "mongodbatlas_cluster" {
  project_id          = var.project_id
  provider_name       = var.provider_name
  name                = var.name
  provider_instance_size_name   = var.provider_instance_size_name
  provider_disk_type_name       = var.provider_disk_type_name
  auto_scaling_compute_enabled  = var.auto_scaling_compute_enabled
  providerAutoScalingComputeMaxInstanceSize = var.providerAutoScalingComputeMaxInstanceSize
  auto_scaling_compute_scale_down_enabled = var.auto_scaling_compute_scale_down_enabled
  providerAutoScalingComputeMinInstanceSize = var.providerAutoScalingComputeMinInstanceSize
  pit_enabled                   = var.pit_enabled
  cluster_type                  = var.cluster_type
  replication_specs {
    num_shards = var.replication_specs_num_shards
    regions_config {
      region_name     = var.region_name
      electable_nodes = var.replication_specs_regions_config_electable_nodes
      priority        = var.replication_specs_regions_config_priority
      read_only_nodes = var.replication_specs_regions_config_read_only_nodes
      analytics_nodes = var.analytics_nodes
    }
  }
  mongo_db_major_version        = var.mongo_db_major_version
  provider_backup_enabled       = var.provider_backup_enabled
  auto_scaling_disk_gb_enabled  = var.auto_scaling_disk_gb_enabled

}

任何帮助。非常感谢。

您使用了错误的参数名称,您需要这两个:

  1. provider_auto_scaling_compute_min_instance_size[1]
  2. provider_auto_scaling_compute_max_instance_size[2]

您的代码应如下所示:

  provider_auto_scaling_compute_max_instance_size = var.providerAutoScalingComputeMaxInstanceSize
  provider_auto_scaling_compute_min_instance_size = var.providerAutoScalingComputeMinInstanceSize

您还可以考虑以不同的方式命名变量,即使用与参数名称相同的名称,因为这有助于在参数是什么和它将具有什么值之间进行映射。

[1] https://registry.terraform.io/providers/mongodb/mongodbatlas/latest/docs/resources/cluster#provider_auto_scaling_compute_min_instance_size

[2]https://registry.terraform.io/providers/mongodb/mongodbatlas/latest/docs/resources/cluster#provider_auto_scaling_compute_max_instance_size