output "web_bucket_name" { description = "S3 origin bucket name. deploy-web.yaml syncs placeholder/ to the bucket root." value = aws_s3_bucket.web.bucket } output "cloudfront_distribution_id" { description = "CloudFront distribution ID. deploy-web.yaml invalidates /* after each sync." value = aws_cloudfront_distribution.web.id } output "cloudfront_domain_name" { description = "CloudFront distribution domain (*.cloudfront.net)." value = aws_cloudfront_distribution.web.domain_name } output "github_deploy_role_arn" { description = "OIDC role ARN for deploy-web.yaml and deploy-api.yaml (Environment variable DEPLOY_ROLE_ARN)." value = aws_iam_role.github_deploy.arn } output "ecs_cluster_name" { description = "ECS cluster name." value = aws_ecs_cluster.api.name } output "ecs_service_name" { description = "ECS service name." value = aws_ecs_service.api.name } output "alb_dns_name" { description = "API ALB DNS name. CloudFront /api/* origin." value = aws_lb.api.dns_name } output "cognito_user_pool_id" { description = "seahaven-ap Cognito user pool ID." value = aws_cognito_user_pool.portal.id } output "cognito_user_pool_client_id" { description = "Public app client ID (authorization code + PKCE)." value = aws_cognito_user_pool_client.portal.id } output "cognito_prefix_domain" { description = "Cognito hosted UI prefix domain." value = "${aws_cognito_user_pool_domain.prefix.domain}.auth.${var.aws_region}.amazoncognito.com" } output "vpc_id" { description = "VPC the ALB, Fargate tasks, and Aurora run in." value = local.vpc_id } output "public_subnet_ids" { description = "Public subnet IDs for the ALB and Fargate tasks." value = local.public_subnet_ids } output "aurora_cluster_endpoint" { description = "Aurora writer endpoint." value = aws_rds_cluster.api.endpoint } output "documents_bucket_name" { description = "Invoice documents bucket." value = aws_s3_bucket.documents.bucket }