Поле Terraform cloud_sql_instance "имя_соединения" не может быть установлено - PullRequest
0 голосов
/ 13 июня 2018

Я пытаюсь создать экземпляр Google Cloud SQL с Terraform.При определении аргумента connection_name для ресурса google_sql_database_instance я получаю следующую ошибку при запуске terraform apply:

Error: google_sql_database_instance.sql_instance: "connection_name": this field cannot be set

Мой блок Terraform:

resource "google_sql_database_instance" "sql_instance" {
  name             = "${var.sql_name}"
  region           = "${var.region}"
  database_version = "POSTGRES_9_6"
  connection_name  = "${data.google_project.my_project.project_id}:${var.region}:${var.sql_name}"
  project          = "${data.google_project.my_project.project_id}"

  settings {
    tier      = "db-custom-6-23040"
    disk_size = "${var.sql_disk_size}"
    disk_type = "${var.sql_disk_type}"
  }
}

Удаление *Аргумент 1010 * приводит к успешному plan, а удаление всех : из значения, а также жесткое кодирование строки также приводит к сбою.

1 Ответ

0 голосов
/ 13 июня 2018

Параметр connection_name для google_sql_database_instance предназначен только для чтения, а не для установки пользователем.

Таким образом, вы не должны пытаться установить его, а вместо этого он понадобится только тогда, когдапередача вывода другому ресурсу или выводу, подобному этому:

resource "google_sql_database_instance" "sql_instance" {
  name             = "${var.sql_name}"
  region           = "${var.region}"
  database_version = "POSTGRES_9_6"
  project          = "${data.google_project.my_project.project_id}"

  settings {
    tier      = "db-custom-6-23040"
    disk_size = "${var.sql_disk_size}"
    disk_type = "${var.sql_disk_type}"
  }
}

output "connection_name" {
  value = "${google_sql_database_instance.sql_instance.connection_name}"
}
...