Para o seu segundo disco, você deseja usar disk = "sql-server-secondary"
em vez de image
como o identificador. Além disso, é melhor fazer referência ao segundo disco usando a sintaxe de interpolação do Terraform (por exemplo, ${...}
) para garantir que seus recursos sejam criados e gerenciados na ordem apropriada.
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"]
}
}
O Terraform define InitializeParams
para discos de imagens pré-existentes ( código ) que está causando o erro que você recebeu. Parece que pode haver um bug nesse cenário, anexando um disco que não seja de inicialização de uma imagem existente, mas ainda estou pesquisando isso.
Espero que isso ajude!