output "gateway_endpoint_ids" {
  description = "Map of Gateway endpoint logical key to endpoint ID"
  value       = { for k, v in aws_vpc_endpoint.gateway : k => v.id }
}

output "interface_endpoint_ids" {
  description = "Map of Interface endpoint logical key to endpoint ID"
  value       = { for k, v in aws_vpc_endpoint.interface : k => v.id }
}

output "gateway_endpoint_arns" {
  description = "Map of Gateway endpoint logical key to endpoint ARN"
  value       = { for k, v in aws_vpc_endpoint.gateway : k => v.arn }
}

output "interface_endpoint_arns" {
  description = "Map of Interface endpoint logical key to endpoint ARN"
  value       = { for k, v in aws_vpc_endpoint.interface : k => v.arn }
}

output "interface_endpoint_dns_entries" {
  description = "Map of Interface endpoint logical key to DNS entries"
  value       = { for k, v in aws_vpc_endpoint.interface : k => v.dns_entry }
}

output "security_group_id" {
  description = "Security group ID used by Interface endpoints, null when none are defined"
  value       = length(aws_security_group.interface_endpoints) > 0 ? aws_security_group.interface_endpoints["sg"].id : null
}
