/**
 * Copyright 2025 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.
 */

output "iam_principals" {
  description = "IAM principals."
  value       = local.iam_principals
}

output "projects" {
  description = "Attributes for managed projects."
  value       = module.factory.projects
}

output "subnet_ips" {
  description = "Map of subnet address ranges keyed by VPC and subnet name."
  value = {
    for k, v in module.vpcs.vpcs : k => v.subnet_ips
  }
}

output "subnet_self_links" {
  description = "Map of subnet self links keyed by VPC and subnet name."
  value = {
    for k, v in module.vpcs.vpcs : k => v.subnet_ids
  }
}

output "tfvars" {
  description = "Stage tfvars."
  value       = local.of_tfvars
  sensitive   = true
}

output "vpc_self_links" {
  description = "Map of VPC self links keyed by VPC name."
  value = {
    for k, v in module.vpcs.vpcs : k => v.id
  }
}
