Merge remote-tracking branch 'origin/master' into fast-dev
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -47,7 +47,7 @@ locals {
|
||||
}
|
||||
neg_regional_serverless = {
|
||||
for k, v in var.neg_configs :
|
||||
k => v if v.cloudrun != null || v.cloudfunction != null
|
||||
k => v if v.cloudrun != null || v.cloudfunction != null || v.serverless_deployment != null
|
||||
}
|
||||
neg_zonal = {
|
||||
# we need to rebuild new objects as we cannot merge different types
|
||||
@@ -137,6 +137,7 @@ resource "google_compute_region_network_endpoint_group" "psc" {
|
||||
}
|
||||
|
||||
resource "google_compute_region_network_endpoint_group" "serverless" {
|
||||
provider = google-beta
|
||||
for_each = local.neg_regional_serverless
|
||||
project = (
|
||||
each.value.project_id == null
|
||||
@@ -144,7 +145,10 @@ resource "google_compute_region_network_endpoint_group" "serverless" {
|
||||
: each.value.project_id
|
||||
)
|
||||
region = try(
|
||||
each.value.cloudrun.region, each.value.cloudfunction.region, null
|
||||
each.value.cloudrun.region,
|
||||
each.value.cloudfunction.region,
|
||||
each.value.serverless_deployment.region,
|
||||
null
|
||||
)
|
||||
name = "${var.name}-${each.key}"
|
||||
description = coalesce(each.value.description, var.description)
|
||||
@@ -164,4 +168,13 @@ resource "google_compute_region_network_endpoint_group" "serverless" {
|
||||
url_mask = each.value.cloudrun.target_urlmask
|
||||
}
|
||||
}
|
||||
dynamic "serverless_deployment" {
|
||||
for_each = each.value.serverless_deployment == null ? [] : [""]
|
||||
content {
|
||||
platform = each.value.serverless_deployment.platform
|
||||
resource = each.value.serverless_deployment.resource
|
||||
version = each.value.serverless_deployment.version
|
||||
url_mask = each.value.serverless_deployment.url_mask
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -143,6 +143,13 @@ variable "neg_configs" {
|
||||
}))
|
||||
target_urlmask = optional(string)
|
||||
}))
|
||||
serverless_deployment = optional(object({
|
||||
region = string
|
||||
platform = string
|
||||
resource = optional(string)
|
||||
version = optional(string)
|
||||
url_mask = optional(string)
|
||||
}))
|
||||
gce = optional(object({
|
||||
network = string
|
||||
subnetwork = string
|
||||
@@ -187,6 +194,7 @@ variable "neg_configs" {
|
||||
for k, v in var.neg_configs : (
|
||||
(try(v.cloudfunction, null) == null ? 0 : 1) +
|
||||
(try(v.cloudrun, null) == null ? 0 : 1) +
|
||||
(try(v.serverless_deployment, null) == null ? 0 : 1) +
|
||||
(try(v.gce, null) == null ? 0 : 1) +
|
||||
(try(v.hybrid, null) == null ? 0 : 1) +
|
||||
(try(v.internet, null) == null ? 0 : 1) +
|
||||
@@ -215,6 +223,16 @@ variable "neg_configs" {
|
||||
])
|
||||
error_message = "Cloud Function NEGs need either target function or target urlmask defined."
|
||||
}
|
||||
validation {
|
||||
condition = alltrue([
|
||||
for k, v in var.neg_configs : (
|
||||
v.serverless_deployment == null
|
||||
? true
|
||||
: v.serverless_deployment.url_mask != null || v.serverless_deployment.resource != null
|
||||
)
|
||||
])
|
||||
error_message = "Serverless deployment NEGs need either resource or url_mask defined."
|
||||
}
|
||||
}
|
||||
|
||||
variable "project_id" {
|
||||
|
||||
Reference in New Issue
Block a user