Мой файл terraform выглядит так.
resource "google_compute_disk" "sqlserversecondary" {
name = "sql-server-secondary"
type = "pd-ssd"
zone = "us-central1-a"
size = "512"
}
resource "google_compute_instance" "sqlserver2016rc2" {
name = "sqlserver2016rc2"
machine_type = "n1-highmem-8"
tags = ["database", "sqlserver2016rc2"]
zone = "us-central1-a"
disk {
image = "sqlserver2016"
size = "120"
}
disk {
image = "sql-server-secondary"
}
network_interface {
network = "default"
access_config {
// Ephemeral IP
}
}
service_account {
scopes = ["userinfo-email", "compute-ro", "storage-ro"]
}
}
Второй диск существует в GCE, но в этой конкретной ситуации я продолжаю получать следующую ошибку.
Error applying plan:
1 error(s) occurred:
* google_compute_instance.sqlserver2016rc2: Error creating instance: googleapi: Error 400: Invalid value for field 'resource.disks[1].initializeParams': ''. Cannot specify initializeParams for non-boot persistent disks., invalid
Для вашего второго диска вы хотите использовать disk = "sql-server-secondary"
вместо того image
как идентификатор. Кроме того, для ссылки на второй диск лучше всего использовать синтаксис интерполяции Terraform (например, ${...}
), чтобы обеспечить создание и управление вашими ресурсами в соответствующем порядке.
resource "google_compute_disk" "sqlserversecondary" {
name = "sql-server-secondary"
type = "pd-ssd"
zone = "us-central1-a"
size = "512"
}
resource "google_compute_instance" "sqlserver2016rc2" {
name = "sqlserver2016rc2"
machine_type = "n1-highmem-8"
tags = ["database", "sqlserver2016rc2"]
zone = "us-central1-a"
disk {
image = "ubuntu-1404-trusty-v20160114e"
size = "120"
}
disk {
disk = "${google_compute_disk.sqlserversecondary.name}" // s/image/disk
}
network_interface {
network = "default"
access_config {
// Ephemeral IP
}
}
service_account {
scopes = ["userinfo-email", "compute-ro", "storage-ro"]
}
}
Наборы Terraform InitializeParams
для дисков из уже существующих образов (код), которая вызывает полученную вами ошибку. Кажется, что в этом сценарии может быть ошибка, связанная с подключением не загрузочного диска из существующего образа, но я все еще вникаю в это.
Надеюсь это поможет!