execution/04-producer/CloudSQL/locals.tf (38 lines of code) (raw):
# Copyright 2024 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
locals {
config_folder_path = var.config_folder_path
instances = [for file in fileset(local.config_folder_path, "[^_]*.yaml") : yamldecode(file("${local.config_folder_path}/${file}"))]
instance_list = flatten([
for instance in try(local.instances, []) : {
project_id = instance.project_id
name = instance.name
region = instance.region
network_config = instance.network_config
database_version = try(instance.database_version, var.database_version)
tier = try(instance.tier, var.tier)
availability_type = try(instance.availability_type, var.availability_type)
activation_policy = try(instance.activation_policy, var.activation_policy)
backup_configuration = try(instance.backup_configuration, var.backup_configuration)
collation = try(instance.collation, var.collation)
connector_enforcement = try(instance.connector_enforcement, var.connector_enforcement)
data_cache = try(instance.data_cache, var.data_cache)
databases = try(instance.databases, var.databases)
disk_autoresize_limit = try(instance.disk_autoresize_limit, var.disk_autoresize_limit)
disk_size = try(instance.disk_size, var.disk_size)
disk_type = try(instance.disk_type, var.disk_type)
edition = try(instance.edition, var.edition)
encryption_key_name = try(instance.encryption, var.encryption_key_name)
flags = try(instance.flags, var.flags)
gcp_deletion_protection = try(instance.gcp_deletion_protection, var.gcp_deletion_protection)
insights_config = try(instance.insights_config, var.insights_config)
labels = try(instance.labels, var.labels)
maintenance_config = try(instance.maintenance_config, var.maintenance_config)
prefix = try(instance.prefix, var.prefix)
replicas = try(instance.replicas, var.replicas)
root_password = try(instance.root_password, var.root_password)
ssl = try(instance.ssl, var.ssl)
terraform_deletion_protection = try(instance.terraform_deletion_protection, var.terraform_deletion_protection)
time_zone = try(instance.timezone, var.time_zone)
users = try(instance.users, var.users)
}
])
}