Estou iniciando um novo projeto terraform, seguindo o guia oficial:
Eu consegui fazê-lo funcionar. (Estou executando-o como parte de uma tarefa de compilação do Google Cloud acionada no commit)
No entanto, se eu alterar algo em um recurso (por exemplo, substituí o padrão "gke_num_nodes" de 2 para 1), quando eu executar terraform apply
novamente, é isso que recebo:
Plan: 4 to add, 0 to change, 0 to destroy.
Changes to Outputs:
+ kubernetes_cluster_host = (known after apply)
+ kubernetes_cluster_name = "workspace-auto-gke"
+ project_id = "workspace-auto"
+ region = "europe-west4"
google_compute_network.vpc: Creating...
╷
│ Error: Error creating Network: googleapi: Error 409: The resource 'projects/workspace-auto/global/networks/workspace-auto-vpc' already exists, alreadyExists
│
│ with google_compute_network.vpc,
│ on vpc.tf line 15, in resource "google_compute_network" "vpc":
│ 15: resource "google_compute_network" "vpc" {
│
╵
Existe uma maneira de fazê-lo não tentar recriar recursos intocados existentes?
O meu cloudbuild.json
é o seguinte:
{
"steps": [
{
"name": "hashicorp/terraform",
"entrypoint": "/bin/sh",
"args": [
"./cloudbuild/prepare-terraform.sh"
]
}
],
"logsBucket": "gs://my-bucket/logdir",
"serviceAccount": "projects/my-proj/serviceAccounts/[email protected]"
}
com prepare-terraform.sh
ser simplesmente
terraform init
terraform plan
terraform apply -auto-approve