diff --git a/modules/instance_template/main.tf b/modules/instance_template/main.tf index fe2b8c72..4cf6601b 100644 --- a/modules/instance_template/main.tf +++ b/modules/instance_template/main.tf @@ -75,7 +75,7 @@ locals { ) create_service_account = var.create_service_account ? var.service_account == null : false - service_account_prefix = substr("${var.name_prefix}-${var.region}", 0, 27) + service_account_prefix = "${substr("${var.name_prefix}-${var.region}", 0, 23)}-${random_integer.sa_suffix.result}" service_account_output = local.create_service_account ? { id = google_service_account.sa[0].account_id, email = google_service_account.sa[0].email, @@ -83,6 +83,11 @@ locals { } : {} } +resource "random_integer" "sa_suffix" { + min = 1000 + max = 9999 +} + # Service account resource "google_service_account" "sa" { provider = google-beta diff --git a/modules/instance_template/versions.tf b/modules/instance_template/versions.tf index cbcf9ab9..d19b7b42 100644 --- a/modules/instance_template/versions.tf +++ b/modules/instance_template/versions.tf @@ -21,6 +21,10 @@ terraform { source = "hashicorp/google-beta" version = ">= 5.36, < 8" } + random = { + source = "hashicorp/random" + version = "< 4.0" + } } provider_meta "google" { module_name = "blueprints/terraform/terraform-google-vm:instance_template/v13.6.1"