Why does this work:
private_ipv4_google_access = "true"
…but this doesn’t:
private_ipv6_google_access = "true"
This anomaly comes to you courtesy of Google’s “google_compute_subnetwork” Terraform resource. A gander at the documentation says this:
Ok. What are the acceptable inputs there? The examples in the documentation provide exactly zero guidance. You either have to go look at the Go code for the resource or do a lot of trial and error. The trial and error is especially fun because they didn’t put any checking around that field whatsoever. It would happily accept “true” but then set it to “DISABLE_GOOGLE_ACCESS” after your Terraform runs. Then on your next apply, you’d see this:
resource "google_api_gateway_api" "api_gw" {
provider = google-beta
api_id = "my-api"
}
resource "google_api_gateway_gateway" "api_gw" {
provider = google-beta
api_config = google_api_gateway_api_config.api_gw.id
gateway_id = "my-gateway"
}
Am I the only person here that thinks this resource naming is absurd? I should be able to look at these resource names and immediately understand what is going on here. This is nothing but confusion.
I wish I could say this is the only example of this ridiculousness in the Google/Google-beta provider (speaking of, two providers? Really?) but it’s not.